php如何批量打包下载远程、本地多文件

直接上后台代码,前端就放一个iframe,默认隐藏,点击下载按钮,动态的改变iframe 地址就可以了,也可以自由发挥

创新互联建站是一家专注于成都做网站、网站制作与策划设计,陆良网站建设哪家好?创新互联建站做网站,专注于网站建设10多年,网设计领域的专业建站公司;建站业务涵盖:陆良等地区。陆良做网站价格咨询:13518219792

header("Content-type: text/html; charset=utf-8");
$fileArr = [];
$fileArr[0] = ['file_path' => './public/banner.jpg'];
$fileArr[1] = ['file_path' => 'https://www.xxxx.com/public/banner.jpg'];
//要使用该类,需要先启用 extension=php_zip.dll
$zip = new \ZipArchive ();
//php内置的压缩类
$res = $zip->open($tmpFile, \ZipArchive::CREATE);
if ($res === TRUE) {
    foreach ($fileArr as $val) {
        //远程文件需要curl 一下
        $file = iconv("utf-8", "gb2312", $val['file_path']);
        $ch = curl_init();
        curl_setopt($ch, CURLOPT_POST, 0);
        curl_setopt($ch, CURLOPT_URL, $file);
        curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
        $fileContent = curl_exec($ch);
        curl_close($ch);
        //本地的你可以直接写路径$zip->addFromString($val['file_path'], basename($val['file_path']));
        $zip->addFromString(basename($file), $fileContent);  //将文件循环压缩到压缩包
    }
}

$zip->close();

header('Content-Type: application/zip');
header("Content-Transfer-Encoding: Binary");
header("Content-disposition: attachment; filename=" . date('YmdHis') . ".zip");
header('Content-Length: ' . filesize($tmpFile));
ob_end_clean();
readfile($tmpFile);
unlink($tmpFile);

以上这篇php如何批量打包下载远程、本地多文件就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持创新互联。

当前题目:php如何批量打包下载远程、本地多文件
网站链接:http://www.shufengxianlan.com/qtweb/news40/135090.html

网站建设、网络推广公司-创新互联,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有等

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联