プロジェクトの開発プロセス中に、zip ファイルを作成してダウンロードを提供する機能を実装する必要がある場合があります。ここでは、ZipArchive クラスを使用して zip ファイルを作成し、それをダウンロードします。
簡単な例を挙げてみましょう。場合によっては、php コードを使用して zip アーカイブ ファイルを作成し、その zip ファイルに写真やドキュメントなどを追加して、ダウンロード用に提供する必要があります。ここでは、zip アーカイブ ファイルの作成に役立つ非常に単純なメソッド createZip() を作成します。このメソッドを使用すると、ファイル、ドキュメント、画像、パスの配列を簡単に渡すことができます。
関連する推奨事項: 「[zip ファイル ライブラリ] 10 php zip ファイル ライブラリのダウンロード」
以下に、非常に単純な Index.php ファイルの例を書きました。これをコピーしてください。直接実行し、テストのためにローカルで実行します。
index.php ファイルに使用可能な画像ファイルがあることを確認してください:
1)demo1.jpg 2)demo2.jpg
コード例は次のとおりです:
<?php /* create a compressed zip file */ function createZip($files = array(), $destination = '', $overwrite = false) { if(file_exists($destination) && !$overwrite) { return false; } $validFiles = []; if(is_array($files)) { foreach($files as $file) { if(file_exists($file)) { $validFiles[] = $file; } } } if(count($validFiles)) { $zip = new ZipArchive(); if($zip->open($destination,$overwrite ? ZIPARCHIVE::OVERWRITE : ZIPARCHIVE::CREATE) !== true) { return false; } foreach($validFiles as $file) { $zip->addFile($file,$file); } $zip->close(); return file_exists($destination); }else{ return false; } } $fileName = 'my-archive.zip'; $files_to_zip = ['demo1.jpg', 'demo2.jpg']; $result = createZip($files_to_zip, $fileName); header("Content-Disposition: attachment; filename=\"".$fileName."\""); header("Content-Length: ".filesize($fileName)); readfile($fileName);
この記事は、 zip ファイルを作成するための PHP ZipArchive と、ダウンロード方法が紹介されています。困っている友人に役立つことを願っています。
以上がPHP ZipArchiveを使用してzipファイルを作成してダウンロードするにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。