成都网站建设设计

将想法与焦点和您一起共享

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://chengdu.cdxwcx.cn/article/dhscopd.html