zipファイルを作成するために次のコードを作成しました。$job_number (グローバル $_GET 配列から取得しています) に応じてデータベースからファイルのリストを取得し、それらを zip ファイルに追加しようとしています。
その部分はうまく機能しています。結果をエコーまたはダンプすることでわかるように、データベースからファイルのリストを取得しprint_r
ています。
唯一の問題は、.zip ファイルがまったく作成されていないことです。どこが間違っているのかわかりません。
$sth = $conn->prepare('SELECT `dp_filename` FROM damage_pics WHERE dp_job_number = :job_number');
$sth->bindParam(':job_number', $job_number);
$sth->setFetchMode(PDO::FETCH_ASSOC);
$sth->execute();
$zip = new ZipArchive();
$zip->open('example5.zip', ZipArchive::CREATE);
$result = $sth->fetchAll();
echo '<pre>';
print_r($result);
foreach ($result as $file)
{
// just echoing for testing purposes to see if file name is created correctly.
$image = $file['dp_filename'];
echo $image . "<br />";
$zip->addFile("uploads/{$image}");
}
$zip->close();