//■zipファイル
// 出来上がるzipのファイル名
$zip_file_name = "./test.zip";
$zip = new ZipArchive();
$zip->open($zip_file_name, ZipArchive::CREATE|ZipArchive::OVERWRITE);
// zipにしたいファイルを追加
$zip->addFile('./a.png');
$zip->addFile('./b.png');
$zip->addFile('./c.png');
// zipファイル作成
$zip->close();
//■自動ダウンロード
header('Content-Type: application/zip; name="'.$zip_file_name.'"');
header('Content-Disposition: attachment; filename="test.zip"');
header('Content-Length: '.filesize($zip_file_name));
ob_end_clean();
echo file_get_contents($zip_file_name);
別名でzip内に格納したい場合は
$zip->addFile()
の第2パラメータに指定すれば良い。
$zip->addFile(‘./a.png’, ‘aa.PNG’); // ‘a.png’ファイルが’aa.png’というファイル名になりzipファイルに格納される。
別名でダウンロードさせたい場合は
header(‘Content-Disposition: attachment; filename=”ダウンロードさせたいファイル名”‘);
にすればよい。
※注意点
phpinfo()を表示させて
Zipの項目が’enabled’になっていないと使用出来ない