小編給大家分享一下PHP/ThinkPHP如何實現(xiàn)批量打包下載文件,希望大家閱讀完這篇文章之后都有所收獲,下面讓我們一起去探討吧!

需求描述:
有數(shù)個文件,包含圖片,文檔。需要根據(jù)條件自動打包成壓縮包,提供下載。
解決(ZipArchive 類):
PHP提供了ZipArchive 類可為我們實現(xiàn)這一功能,demo:
<?php
$files = array('image.jpeg','text.txt','music.wav');
$zipname = 'enter_any_name_for_the_zipped_file.zip';
$zip = new ZipArchive;
$zip->open($zipname, ZipArchive::CREATE);
foreach ($files as $file) {
$zip->addFile($file);
}
$zip->close();
///Then download the zipped file.
header('Content-Type: application/zip');
header('Content-disposition: attachment; filename='.$zipname);
header('Content-Length: ' . filesize($zipname));
readfile($zipname);
?>ThinkPHP版
$zip = new \ZipArchive;
//壓縮文件名
$filename = 'download.zip';
//新建zip壓縮包
$zip->open($filename,\ZipArchive::OVERWRITE);
//把圖片一張一張加進去壓縮
foreach ($images as $key => $value) {
$zip->addFile($value);
}
//打包zip
$zip->close();
//可以直接重定向下載
header('Location:'.$filename);
//或者輸出下載
header("Cache-Control: public");
header("Content-Description: File Transfer");
header('Content-disposition: attachment; filename='.basename($filename)); //文件名
header("Content-Type: application/force-download");
header("Content-Transfer-Encoding: binary");
header('Content-Length: '. filesize($filename)); //告訴瀏覽器,文件大小
readfile($filename);區(qū)別在引用的時候路徑要對,結(jié)束。
看完了這篇文章,相信你對“PHP/ThinkPHP如何實現(xiàn)批量打包下載文件”有了一定的了解,如果想了解更多相關(guān)知識,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,感謝各位的閱讀!
網(wǎng)頁名稱:PHP/ThinkPHP如何實現(xiàn)批量打包下載文件-創(chuàng)新互聯(lián)
當(dāng)前URL:http://chinadenli.net/article14/dsjdde.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供品牌網(wǎng)站制作、營銷型網(wǎng)站建設(shè)、用戶體驗、搜索引擎優(yōu)化、Google、網(wǎng)站制作
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)