PHPで圧縮ファイル作成(zip)
phpMyAdminの libraries/zip.lib.php
を使えば、PHPのみでファイルの圧縮ができたのでメモ。
<?php
require_once 'zip.lib.php';
$zipfile = new zipfile();
//圧縮するファイルのパス
$file1 = 'test.txt';
$file2 = 'test/test.jpg';
//ファイルを追加
$zipfile->addFile(file_get_contents($file1), $file1);
//ファイルを追加
$zipfile->addFile(file_get_contents($file2), $file2);
/*
//ZIPファイルを作成する場合
if (file_put_contents('test.zip', $zipfile->file()) === false) {
exit('error');
}
*/
//ZIPファイルをダウンロードする場合
header('Content-Type: application/zip');
header('Content-Disposition: attachment; filename="test.zip"');
header('Content-Length: ' . strlen($zipfile->file()));
echo $zipfile->file();
exit;
?>