php文件打包下载(php 打包)
华为云服务器特价优惠火热进行中! 2核2G2兆仅需 38 元;4核4G3兆仅需 79 元。购买时间越长越优惠!更多配置及优惠价格请咨询客服。
合作流程: |
本篇文章给大家谈谈php文件打包下载,以及php 打包对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。
微信号:cloud7591如需了解更多,欢迎添加客服微信咨询。
复制微信号
本文目录一览:
- 1、怎样用多文件php实现多文件下载?
- 2、php如何实现文件夹的打包下载详细操作步骤
- 3、PHP网页上打包文件生成压缩文件zip,并弹出下载
- 4、php如何一次下载多个文件?
- 5、360云盘,将里面文件打包下载,下载的文件为何是PHP格式,电脑无法打开怎么办?
- 6、php 如何把文件夹及文件夹下面的所有文件打包成压缩包,在页面上用户点击下载按钮即可下载到本地?
怎样用多文件php实现多文件下载?
好可怜啊,谁给你的任务,这个是不可能的,和框架、语言都没关系,是不是你的上级看错了文档啊,人家要求多个文件用zip打包下载(比如把文档中的“别忘了用zip”看成“别用zip”)
这种只能js同时弹出多窗口了,例如
form class="download_form" target="download_url_1" action="download_url_1"/form
form class="download_form" target="download_url_2" action="download_url_2"/form
...
button onclick="$('form.download_form').each(function(){this.submit();})" type="button"点/button
只要下载是正常的,这种弹出会在用户操作后(下载或取消)自动消失的。但是用户要一个一个点还是很差劲的用户体验。
window.open也行,但是容易受浏览器弹窗设置影响,所以不建议。
php如何实现文件夹的打包下载详细操作步骤
public function downloads(){
$file = "./Ludian_Disaster_Relief_Map_Operation_Guide.pdf";
if(file_exists($file)){
header('Content-Description: File Transfer');
header('Content-Type: application/octet-stream');
header('Content-Disposition: attachment; filename='.basename($file));
header('Content-Transfer-Encoding: binary');
header('Expires: 0');
header('Cache-Control: must-revalidate, post-check=0, pre-check=0');
header('Pragma: public');
header('Content-Length: ' . filesize($file));
ob_clean();
flush();
readfile($file);
}else{
$this-error("文件不存在");
}
}
PHP网页上打包文件生成压缩文件zip,并弹出下载
既然你只是想学习如何打包.
那我重点就回答你这一块,正好我刚刚用到;
$filename = "./" . date ( 'YmdH' ) . ".zip"; // 最终生成的文件名(含路径)
// 生成文件
$zip = new ZipArchive (); // 使用本类,linux需开启zlib,windows需取消php_zip.dll前的注释
if ($zip-open ( $filename, ZIPARCHIVE::CREATE ) !== TRUE) {
exit ( '无法打开文件,或者文件创建失败' );
}
//$fileNameArr 就是一个存储文件路径的数组 比如 array('/a/1.jpg,/a/2.jpg....');
foreach ( $fileNameArr as $val ) {
$zip-addFile ( $val, basename ( $val ) ); // 第二个参数是放在压缩包中的文件名称,如果文件可能会有重复,就需要注意一下
}
$zip-close (); // 关闭
//下面是输出下载;
header ( "Cache-Control: max-age=0" );
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如何一次下载多个文件?
这个要利用javascript技巧才行,单独的PHP是无法实现的,经过我的测试,下面的代码可以实现同时下载多个文件:
script language=javascript
var urls=new Array('result.xls','201110x.rar','a.exe');
for (i in urls) document.write('a id="d'+i+'" href="'+urls[i]+'" target=_blankx/a');
for (i in urls) document.getElementById('d'+i).click();
/script
你PHP程序输出这样的代码就可以,主要是用for循环生成第二行urls数组的定义。
360云盘,将里面文件打包下载,下载的文件为何是PHP格式,电脑无法打开怎么办?
说明不支持迅雷下载,你需要使用其他下载工具。
php文件是用来重定向下载内容的,迅雷直接把这个页面下载下来了。
直接用IE自带的工具下载,不要使用迅雷。
php 如何把文件夹及文件夹下面的所有文件打包成压缩包,在页面上用户点击下载按钮即可下载到本地?
一般不会下载的时候重新打包,因为php打包是一个非常消耗资源的过程。
使用php zip 打包,然后记录包的路径,下载的时候直接下载该路径文件即可。
php文件打包下载的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于php 打包、php文件打包下载的信息别忘了在本站进行查找喔。
