PHP で複数のファイルから ZIP アーカイブを作成する
質問: 複数のファイルを ZIP としてダウンロードするにはどうすればよいですか?を使用してアーカイブするPHP?
解決策:
これを実現するには、PHP の ZipArchive クラスを利用できます。続行方法は次のとおりです:
ZIP アーカイブの作成:
$files = array('readme.txt', 'test.html', 'image.gif'); $zipname = 'file.zip'; $zip = new ZipArchive; $zip->open($zipname, ZipArchive::CREATE);
ファイルの追加先ZIPアーカイブ:
foreach ($files as $file) { $zip->addFile($file); }
ZIP アーカイブを閉じる:
$zip->close();
ストリームZIP アーカイブをClient:
header('Content-Type: application/zip'); header('Content-disposition: attachment; filename="'.$zipname.'"'); header('Content-Length: ' . filesize($zipname)); readfile($zipname);
ストリーミング セクションの最初の行は、Content-Type を ZIP アーカイブとして指定します。 2 行目は、ユーザーにダウンロード ボックスを表示し、ファイル名 file.zip を割り当てるようにブラウザに指示します。 3 行目は、ファイル サイズを事前に把握していないと問題が発生する可能性がある古いブラウザ用に Content-Length ヘッダーを計算して設定します。
以上がPHP を使用して複数のファイルの ZIP アーカイブを作成してダウンロードするにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。