以下脚本从我的数据库中获取图像文件并创建一个 zip 文件。由于某种原因,它错过了查询的第一个文件, print_r 在那里向我展示了它正在压缩的内容,并且每次 [0]=>myfile.jpg 实际上是第二个文件而不是第一个文件。
有谁知道为什么?
//create an empty array
$file_names = array();
//fetch the names from database
while ($row_rsParentGal = mysql_fetch_assoc($rsParentGal))
{
//Add the values to the array
$file_names[] = $row_rsParentGal['filename'];
}
print_r ($file_names);
// instantate object
$zip = new ZipArchive();
// create and open the archive
if ($zip->open("$zipfilename", ZipArchive::CREATE) !== TRUE) {
die ("Could not open archive");
}
// add each file in the file list to the archive
foreach($file_names as $files)
{
$zip->addFile($sourcefolder.$files, $files);
// uncomment to show list of files added to archive on results page
echo $sourcefolder.$files."<br />";
}
$zip->close();