ホームページ > バックエンド開発 > PHPチュートリアル > PHP で複数ファイルの ZIP アーカイブを作成してダウンロードするにはどうすればよいですか?

PHP で複数ファイルの ZIP アーカイブを作成してダウンロードするにはどうすればよいですか?

DDD
リリース: 2024-12-23 19:42:15
オリジナル
607 人が閲覧しました

How to Create and Download a Multi-File ZIP Archive in PHP?

PHP で複数のファイルを含む ZIP アーカイブを作成する

PHP を使用して複数のファイルを単一の ZIP アーカイブとしてダウンロードするには、ZipArchive クラスを利用できます。 .

ZIP の作成アーカイブ:

$files = array('readme.txt', 'test.html', 'image.gif');
$zipname = 'file.zip';
$zip = new ZipArchive;
$zip->open($zipname, ZipArchive::CREATE);
foreach ($files as $file) {
  $zip->addFile($file);
}
$zip->close();
ログイン後にコピー

このコードは、'file.zip' という名前の ZIP アーカイブを作成し、指定されたファイルをそれに追加します。

ダウンロード用に ZIP アーカイブをストリーミング:

header('Content-Type: application/zip');
header('Content-disposition: attachment; filename='.$zipname);
header('Content-Length: ' . filesize($zipname));
readfile($zipname);
ログイン後にコピー

これらのヘッダーは、ブラウザーがダウンロード プロンプトを表示し、適切なファイル名とサイズを設定できるように準備します。 ZIP アーカイブ ファイルを読み取ってそのコンテンツをストリーミングすることにより、ブラウザはそれをダウンロードできます。

追加メモ:

  • 「Content-disposition」ヘッダーにより、ブラウザでユーザーにダウンロード ボックスを表示します。
  • 「Content-Length」ヘッダーはオプションですが、古いバージョンとの互換性が確保されています。
  • このアプローチにより、複数のファイルを含む ZIP アーカイブの動的な作成とそのダウンロードが可能になります。

以上がPHP で複数ファイルの ZIP アーカイブを作成してダウンロードするにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート