ホームページ >バックエンド開発 >PHPチュートリアル >PHP を使用して複数のファイルのダウンロード可能な ZIP アーカイブを作成する方法

PHP を使用して複数のファイルのダウンロード可能な ZIP アーカイブを作成する方法

Barbara Streisand
Barbara Streisandオリジナル
2024-12-16 03:36:13276ブラウズ

How to Create a Downloadable ZIP Archive of Multiple Files Using PHP?

PHP を使用して複数のファイルをダウンロードする ZIP アーカイブを作成する

Web 開発では、ダウンロード用に複数のファイルを 1 つの圧縮パッケージで提供する必要があるシナリオがあります。 。 PHP では、ZipArchive クラスを使用して、このタスクに便利なソリューションを提供しています。

ZipArchive クラスの利用

ZIP アーカイブを作成するには、次の手順に従います。

$zipname = 'file.zip';
$zip = new ZipArchive;
$zip->open($zipname, ZipArchive::CREATE);

ここでは、 $zip は ZIP アーカイブを表し、$zipname は目的のファイル名です。

ファイルをアーカイブ

ZIP アーカイブが作成されたら、個々のファイルをそれに追加できます。

foreach ($files as $file) {
  $zip->addFile($file);
}

$files をファイル パスまたは名前を含む配列に置き換えます。

アーカイブを閉じてストリーミングする

必要なファイルをすべて追加した後、アーカイブを閉じますarchive:

$zip->close();

次に、ダウンロードのためにアーカイブをクライアントにストリーミングします:

header('Content-Type: application/zip');
header('Content-disposition: attachment; filename='.$zipname);
header('Content-Length: ' . filesize($zipname));
readfile($zipname);

このコードは、ブラウザーにダウンロード ボックスを表示させ、ファイル名を指定します。ファイル サイズは、一部のブラウザでの互換性の問題を解決するために指定されています。

これらの手順により、PHP を使用して複数のファイルを単一の ZIP アーカイブとして簡単に作成し、ダウンロードできます。

以上がPHP を使用して複数のファイルのダウンロード可能な ZIP アーカイブを作成する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。