複数の画像をパッケージ化してダウンロードするには、パッケージ化されたファイルをディレクトリに配置するように求めるプロンプトが必要です。 http://justcoding.iteye.com/blog/660812
ダウンロードプロンプトの一種。
<?php$file = 'test.zip'; if(file_exists($file)){ header('content-type:application/octet-stream'); header('content-disposition:attachment; filename='.basename($file)); header('content-length:'.filesize($file)); readfile($file); } ?>
写真を test.zip ファイルにパッケージ化する方法、ガイドしてください
サンプル
$zipname = 'test.zip';$filelist = array_slice(glob('images/*'), 0, 10);//待压缩文件列表$zip = new ZipArchive;$zip->open($zipname, ZIPARCHIVE::CREATE | ZIPARCHIVE::OVERWRITE); foreach($filelist as $fn){ $zip->addFile($fn);}$zip->close();
ダウンロード プロンプト。
<?php$file = 'test.zip'; if(file_exists($file)){ header('content-type:application/octet-stream'); header('content-disposition:attachment; filename='.basename($file)); header('content-length:'.filesize($file)); readfile($file); } ?>
例
$zipname = 'test.zip';$filelist = array_slice(glob('images/*'), 0, 10);//待压缩文件列表$zip = new ZipArchive;$zip->open($zipname, ZIPARCHIVE::CREATE | ZIPARCHIVE::OVERWRITE); foreach($filelist as $fn){ $zip->addFile($fn);}$zip->close();
function zipAndDownload($zipFileName,$zipDir){ if(file_exists($zipFileName)){ unlink($zipFileName); $zipFile = new ZipArchive(); $fileList = array_slice(glob($zipDir) , 0 ); //待压缩文件列表 $zipFile -> open($zipFileName , ZipArchive::CREATE | ZipArchive::OVERWRITE); foreach ($fileList as $files){ $zipFile -> addFile($files); } $zipFile -> close(); if(file_exists($zipFileName)){ header('content-type:application/octet-stream'); header('content-disposition:attachment; filename='.basename($zipFileName)); header('content-length:'.filesize($zipFileName)); readfile($zipFileName); } } }