使用PHP怎么实现打包下载文件

  介绍

本篇文章给大家分享的是有关使用PHP怎么实现打包下载文件,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。

具体如下:

/* *   *,下载文件   *,@param  img美元   *,@return 字符串   */public  function 下载(img)美元   {   ,,,items 美元;=,[];   ,,,names 美元;=,[];   ,,,如果(img)美元   ,,,{   ,,,,,//用于前端跳转邮政链接拼接   ,,,,,path_redirect 美元;=,& # 39;/zip/& # 39; .date (& # 39; ymd # 39;);   ,,,,,//临时文件存储地址   ,,,,,path 美元;,,,,,=,& # 39;/tmp # 39; path_redirect美元;   ,,,,,如果(! is_dir(路径)美元)   ,,,,,{   ,,,,,,,mkdir(美元的道路,0777年,真正的);   ,,,,,}   ,,,,,foreach  (img 美元;as  key 美元;=祝辞,美元值),{   ,,,,,,,fileContent 美元;=,& # 39;& # 39;;   ,,,,,,,fileContent 美元;=,$ this→CurlDownload(美元值(& # 39;url # 39;]);   ,,,,,,,如果(,fileContent 美元;)   ,,,,,,,{   ,,,,,,,,,__tmp 美元;=,$ this→SaveFile(,美元价值[& # 39;url # 39;],,, path 美元;,,fileContent 美元;);   ,,,,,,,,,美元项目[],=,__tmp美元[0];   ,,,,,,,,,的名字[],美元=,美元价值[& # 39;名字# 39;]# 39;公司_ # 39;。(关键+ 1美元)强生# 39;强生# 39;。美元__tmp [1];   ,,,,,,,}   ,,,,,}   ,,,,,如果(,items 美元;)   ,,,,,{   ,,,,,,,zip 美元;=,new  ZipArchive ();   ,,,,,,,filename 美元;=,时间()强生# 39;download.zip& # 39;;   ,,,,,,,zipname 美元;=,路径强生# 39;美元/& # 39;美元文件名;   ,,,,,,,if  (! file_exists (zipname美元)),{   ,,,,,,,,,res 美元;=,$ zip→打开(zipname美元,,ZipArchive:: CREATE  |, ZipArchive::覆盖);   ,,,,,,,,,if  (res)美元,{   ,,,,,,,,,,,foreach  (items 美元;as  k 美元;=祝辞,美元v), {   ,,,,,,,,,,,,,value 美元;=,爆炸(“/?,美元v);   ,,,,,,,,,,,,,最终获得美元,=,结束(美元值);   ,,,,,,,,,,,,,$ zip→addFile (v美元,,结束);   ,,,,,,,,,,,,,$ zip→renameName(结束美元,,名称[$ k]);   ,,,,,,,,,,,}   ,,,,,,,,,,,$ zip→关闭();   ,,,,,,,,,},{else    ,,,,,,,,,,,return  & # 39; & # 39;;   ,,,,,,,,,}   ,,,,,,,,,//通过前端js跳转邮政地址下载,让不使用php代码下载压缩文件   ,,,,,,,,,//if  (file_exists (zipname美元)),{   ,,,,,,,,,,,//拼接附件地址   ,,,,,,,,,,,//redirect 美元;=,域名。本市path_redirect # 39;美元/& # 39;美元文件名;   ,,,,,,,,,,,//return 美元重定向;   ,,,,,,,,,,,//标题(“位置:“。重定向美元);   ,,,,,,,,,//}   ,,,,,,,,,//直接写文件的方式下载到客户端   ,,,,,,,,,if  (file_exists (zipname美元)),{   ,,,,,,,,,,,头(“cache - control: public");   ,,,,,,,,,,,头(“内容描述:File  Transfer");   ,,,,,,,,,,,头(& # 39;附加项:,附件;,文件名=附件. zip,),,//文件名   ,,,,,,,,,,,头(“内容类型:应用程序/zip");,//zip格式的   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null

使用PHP怎么实现打包下载文件