最近整理文档,搜刮出一个php多文件打包下载的实例代码,稍微整理精简一下做下分享。
需要同时下载多个文件时,大部分浏览器都不支持多文件同时下载,可以采用JavaScript脚本动态生成多个链接,但是需要用户多次点击下载对话框,用户体验不好,并且有些浏览器还不兼容。此时多文件打包下载帮你解决这个问题。
$filename = "test.zip"; $datalist=array('./pubfile/1.jpg','./pubfile/2.jpg'); if(!file_exists($filename)){ $zip = new ZipArchive(); if ($zip->open($filename, ZipArchive::CREATE)==TRUE) { foreach( $datalist as $val){ if(file_exists($val)){ $zip->addFile( $val, basename($val)); } } $zip->close(); } } if(!file_exists($filename)){ exit("无法找到文件"); } header("Cache-Control: public"); header("Content-Description: File Transfer"); header('Content-disposition: attachment; filename='.basename($filename)); //文件名 header("Content-Type: application/zip"); //zip格式的 header("Content-Transfer-Encoding: binary"); //告诉浏览器,这是二进制文件 header('Content-Length: '. filesize($filename)); //告诉浏览器,文件大小 @readfile($filename);
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持小牛知识库。
本文向大家介绍php ZipArchive实现多文件打包下载实例,包括了php ZipArchive实现多文件打包下载实例的使用技巧和注意事项,需要的朋友参考一下 实例代码: 注意:里面的路径全部用绝对路径,不然会找不到文件 附赠其他操作: 解压缩zip文件 获取解压文件目录 大家可以在本地测试下,感谢大家的学习和对呐喊教程的支持。
本文向大家介绍ASP.NET Web Api 2实现多文件打包并下载文件的实例,包括了ASP.NET Web Api 2实现多文件打包并下载文件的实例的使用技巧和注意事项,需要的朋友参考一下 最近由于工作和个人事务,站点也好久没更新了,但这并不影响我对.NET的热情。站点的更新工作还是得想办法抽时间来完成的。 今天利用中午的时间来写一篇关于Asp.Net Web Api下载文件的文章,之前我也写过
本文向大家介绍javaweb文件打包批量下载代码,包括了javaweb文件打包批量下载代码的使用技巧和注意事项,需要的朋友参考一下 本文实例为大家分享了javaweb文件打包批量下载,供大家参考,具体内容如下 博客地址!http://oldriver.top/ 老司机技术手册 以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持呐喊教程。
本文向大家介绍Python实现多线程下载文件的代码实例,包括了Python实现多线程下载文件的代码实例的使用技巧和注意事项,需要的朋友参考一下 实现简单的多线程下载,需要关注如下几点: 1.文件的大小:可以从reponse header中提取,如“Content-Length:911”表示大小是911字节 2.任务拆分:指定各个线程下载的文件的哪一块,可以通过request header中添加“R
本文向大家介绍JavaWeb实现多文件上传及zip打包下载,包括了JavaWeb实现多文件上传及zip打包下载的使用技巧和注意事项,需要的朋友参考一下 本文实例为大家分享了javaweb多文件上传及zip打包下载的具体代码,供大家参考,具体内容如下 项目中经常会使用到文件上传及下载的功能。本篇文章总结场景在JavaWeb环境下,多文件上传及批量打包下载功能,包括前台及后台部分。 首先明确一点: 无
本文向大家介绍PHP下载大文件失败并限制下载速度的实例代码,包括了PHP下载大文件失败并限制下载速度的实例代码的使用技巧和注意事项,需要的朋友参考一下 1.问题: PHP在使用readfile函数定义下载文件时候,文件不可以过大,否则会下载失败,文件损坏且不报错; 2.原因: 这个是因为readfile读取文件的时候会把文件放入缓存,导致内存溢出; 3.解决:分段下载,并限制下载速度; 总结 以上