php輸出zip
一般我們要用php執行下載單一檔案的命令,通常我們都會用header來達成,例如:
header(‘Content-type:application/force-download’); //告訴瀏覽器 為下載檔案
header(‘Content-Type: application/xxx’); //設定檔案格式 例如 pdf txt jpg…
header(“Content-Disposition: attachment; filename=’1234_aidec_spacex.txt'”);
如果我們需要批量下載很多檔案呢?? 這裡提供一個最簡單的方法那就是將這些檔案全部壓縮至zip裡面,在使用上面的方法將zip下載下來。
那要如何使用 php輸出zip 呢??答案也很簡單,php5本身就有內建輸出zip格式的函式庫,只要照著操作便可以輕鬆輸出zip。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
############################### //此範例假設我們要輸出的檔案已存在// 123.jpg 456.jpg ############################### /********設定路徑與壓縮檔名稱************/ $dir="/uploads/"; //設定檔案路徑 $zipname = gmdate("Y-m-d-H-i-s", time()).'.zip'; //輸出的zip檔名 (可自行修改) /********利用ZipArchive產生壓縮檔************/ $zip = new ZipArchive; $zip->open($zipname, ZipArchive::CREATE); $zip->addFile($dir.'123.jpg'); //添加檔案 (若有大量檔案可使用迴圈) $zip->addFile($dir.'456.jpg'); $zip->close(); /********使用header命令php下載zip檔************/ header('Content-Type: application/zip'); header("Content-Disposition: attachment; filename='$zipname'"); header('Content-Length: ' . filesize($zipname)); header("Location: $zipname"); |
推薦文章
(一) PHP輸出txt 文件
感謝您的閱讀,請用力地分享讓大家知道吧~~
很抱歉,此文章關閉留言
php輸出zip,我正找这个