[解決済み] php で複数のファイルを zip ファイルとしてダウンロードする。
2022-08-19 14:34:42
質問
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();
とストリーミングするために
header('Content-Type: application/zip');
header('Content-disposition: attachment; filename='.$zipname);
header('Content-Length: ' . filesize($zipname));
readfile($zipname);
2行目は、ブラウザにダウンロードボックスを表示させ、filename.zipという名前を要求しています。3 行目は任意ですが、特定の(主に古い)ブラウザでは、コンテンツのサイズが指定されないと問題が発生する場合があります。
関連
-
[解決済み】PHPからPythonスクリプトを実行する
-
[解決済み] PHPで配列から要素を削除する
-
[解決済み] どのような場合に '$this' よりも 'self' を使うべきですか?
-
[解決済み] "お知らせ 未定義変数"、"Notice: Notice: 未定義のインデックス", "Notice:未定義のインデックス", "Notice."。PHPを使用した「未定義のオフセット
-
[解決済み] PHPでパスワードをハッシュ化するためにbcryptを使用するにはどうすればよいですか?
-
[解決済み] Pythonでファイルを解凍する
-
[解決済み】PHPパスワードのハッシュとソルトの安全性について
-
[解決済み】zlib、gzip、zipはどのように関係していますか?これらの共通点と相違点は何ですか?
-
[解決済み】BitBucket - ソースをZIPでダウンロードする。
-
[解決済み] リファレンス - このシンボルはPHPで何を意味するのですか?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】SQLSTATE[42000]: 構文エラーまたはアクセス違反が発生しました。1064 SQL 構文にエラーがあります - PHP - PDO [重複]。
-
[解決済み】メンバ関数をnullで呼び出す?
-
[解決済み】XAMPPのphpMyAdminで「設定にあるcontroluserの接続に失敗しました。
-
[解決済み】php, mysql - データベースへの接続数が多すぎるエラー
-
[解決済み】Xampp ローカルホスト/ダッシュボード
-
[解決済み】未定義のメソッド mysqli_stmt::get_result を呼び出す。
-
[解決済み】子テーマのCSSが親テーマをオーバーライドしない
-
[解決済み】Netbeans 7.4 for PHPで「スーパーグローバルな$_POST配列に直接アクセスしないでください」という警告が発生する。
-
thinkphp5 timestamp 非整形の数値に遭遇した。
-
[解決済み] mysqli_fetch_assoc() は、パラメータ 1 が mysqli_result であることを期待し、boolean が与えられる [重複] 。