PHP在线打包下载功能示例


Posted in PHP onOctober 15, 2016

本文实例讲述了PHP在线打包下载功能实现方法。分享给大家供大家参考,具体如下:

昨天晚上,为了弄这个打包下载的事,弄的事焦头烂额。有几个问题,第一个是开始PHP_ZIP.dll的问题。话说只要把PHP.INI里面的extend_dir里面的前的”;”号去掉。再重启IIS或者apache就可以了。

问题是老是找不到系统配置的真正的PHP.INI。

PHP在线打包下载功能示例

PHP配置图

第二个是告诉你配置文档的路径,按着找就可以了。我当时脑袋秀逗了,浪费了很多时间。

这个开启PHP_ZIP扩展库以后,就可以开始打包下载了。

$filename= date("YmdHis");
$zip = new ZipArchive();//使用本类,linux需开启zlib,windows需取消php_zip.dll前的注释
$zip->open($filename.".zip", ZipArchive::OVERWRITE); //$data 就是从数据库里面读出的数字
foreach( $data as $val){
   $attachfile = "E:\bysj\bysj".$val['fileaddr'].$val['filename']; //写硬路径,但建议用PHP环境变量
   $attachfile=iconv("UTF-8","GBK",$attachfile); //转码,是打包中文文档的关键
   $zip->addFile( $attachfile , basename($attachfile)); //压栈
}
$zip->close();//关闭
header("Content-type:text/html;charset=utf-8");//设置页面编号
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.".zip");

上面的代码基本就可以实现文档打包下载了,也解决了中文文档无法打包下载的问题。

希望本文所述对大家PHP程序设计有所帮助。

PHP 相关文章推荐
PHP 柱状图实现代码
Dec 04 PHP
PHP类中Static方法效率测试代码
Oct 17 PHP
关于php操作mysql执行数据库查询的一些常用操作汇总
Jun 24 PHP
shell脚本作为保证PHP脚本不挂掉的守护进程实例分享
Jul 15 PHP
PHP IE中下载附件问题解决方法
Jan 07 PHP
php上传图片存入数据库示例分享
Mar 11 PHP
9段PHP实用功能的代码推荐
Oct 14 PHP
PHP字符串word末字符实现大小写互换的方法
Nov 10 PHP
全面解读PHP的Yii框架中的日志功能
Mar 17 PHP
详谈phpAdmin修改密码后拒绝访问的问题
Apr 03 PHP
php7安装yar扩展的方法详解
Aug 03 PHP
PHP合并两个或多个数组的方法
Jan 20 PHP
PHP文件上传处理案例分析
Oct 15 #PHP
PHP小偷程序的设计与实现方法详解
Oct 15 #PHP
基于php判断客户端类型
Oct 14 #PHP
PHP实现登录搜狐广告获取广告联盟数据的方法【附demo源码】
Oct 14 #PHP
php生成与读取excel文件
Oct 14 #PHP
基于PHP实现用户注册登录功能
Oct 14 #PHP
PHP基于curl后台远程登录正方教务系统的方法
Oct 14 #PHP
You might like
php以fastCGI的方式运行时文件系统权限问题及解决方法
2015/05/11 PHP
yii2带搜索功能的下拉框实例详解
2016/05/12 PHP
PHP实现大数(浮点数)取余的方法
2017/02/18 PHP
PHP让数组中有相同值的组成新的数组实例
2017/12/31 PHP
TP5(thinkPHP5框架)实现显示错误信息及行号功能的方法
2019/06/03 PHP
php查看一个变量的占用内存的实例代码
2020/03/29 PHP
EasySlider 基于jQuery功能强大简单易用的滑动门插件
2010/06/11 Javascript
JQuery UI DatePicker中z-index默认为1的解决办法
2010/09/28 Javascript
JavaScript插入动态样式实现代码
2012/02/22 Javascript
JavaScript中textRange对象使用方法小结
2015/03/24 Javascript
JavaScript中for循环的使用详解
2015/06/03 Javascript
Bootstrap实现响应式导航栏效果
2015/12/28 Javascript
Angular模版驱动表单的使用总结
2018/05/05 Javascript
layui select获取自定义属性方法
2018/08/15 Javascript
python 实现红包随机生成算法的简单实例
2017/01/04 Python
Python实现删除时保留特定文件夹和文件的示例
2018/04/27 Python
Python 忽略warning的输出方法
2018/10/18 Python
python将处理好的图像保存到指定目录下的方法
2019/01/10 Python
python写入文件自动换行问题的方法
2019/07/05 Python
Python 使用生成器代替线程的方法
2020/08/04 Python
波兰香水和化妆品购物网站:Notino.pl
2017/11/07 全球购物
Optimalprint加拿大:在线打印服务
2020/04/03 全球购物
建筑工程技术应届生求职信
2013/11/17 职场文书
财务会计实习报告体会
2013/12/20 职场文书
获奖的大学生创业计划书
2014/01/05 职场文书
初中英语教学反思
2014/01/25 职场文书
2014年党员整改措施范文
2014/09/21 职场文书
2014年公务员工作总结
2014/11/18 职场文书
2014年质检工作总结
2014/11/26 职场文书
2015年医药代表工作总结
2015/04/25 职场文书
学习新党章心得体会2016
2016/01/15 职场文书
2019最新版股权转让及委托持股协议书范本
2019/08/07 职场文书
诗词赏析-(浣溪沙)
2019/08/13 职场文书
聊聊JS ES6中的解构
2021/04/29 Javascript
工厂无线对讲系统解决方案
2022/02/18 无线电
2022新作动画《福星小子》释出宣传影片 加入内田真礼&宫野真守配音演出
2022/04/08 日漫