次のスクリプトは、データベースから画像ファイルを取得し、zip ファイルを作成します。何らかの理由で、クエリの最初のファイルがありません。print_r は圧縮されているものを表示するためにあり、[0]=>myfile.jpg は実際には最初のファイルではなく 2 番目のファイルです。
誰かが理由を知っていますか?
//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();