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新手上路(八)
Oct 09 PHP
一个php Mysql类 可以参考学习熟悉下
Jun 21 PHP
php smarty模版引擎中变量操作符及使用方法
Dec 11 PHP
PHP设置图片文件上传大小的具体实现方法
Oct 11 PHP
php两种无限分类方法实例
Apr 21 PHP
PHP rsa加密解密使用方法
Apr 27 PHP
php版微信公众账号第三方管理工具开发简明教程
Sep 23 PHP
遍历指定目录,并存储目录内所有文件属性信息的php代码
Oct 28 PHP
PHP + plupload.js实现多图上传并显示进度条加删除实例代码
Mar 06 PHP
PHP+MYSQL实现读写分离简单实战
Mar 13 PHP
PHP生成(支持多模板)二维码海报代码
Apr 30 PHP
php设计模式之工厂方法模式分析【星际争霸游戏案例】
Jan 23 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生成HTML静态页面实例代码
2008/08/31 PHP
php使用百度天气接口示例
2014/04/22 PHP
laravel 框架执行流程与原理简单分析
2020/02/01 PHP
繁简字转换功能
2006/07/19 Javascript
跟着JQuery API学Jquery 之二 属性
2010/04/09 Javascript
网络之美 JavaScript中Get和Set访问器的实现代码
2010/09/19 Javascript
利用jQuery的deferred对象实现异步按顺序加载JS文件
2013/03/17 Javascript
JavaScript实现GriwView单列全选(自写代码)
2013/05/13 Javascript
javascript中数组中求最大值示例代码
2013/12/18 Javascript
bootstrap data与jquery .data
2014/07/07 Javascript
js实现感应鼠标图片透明度变化的方法
2015/02/20 Javascript
jquery实现焦点图片随机切换效果的方法
2015/03/12 Javascript
JavaScript截取指定长度字符串点击可以展开全部代码
2015/12/04 Javascript
JavaScript知识点整理
2015/12/09 Javascript
JS实现Select的option上下移动的方法
2016/03/01 Javascript
JavaScript判断浏览器及其版本信息
2017/01/20 Javascript
input type=file 选择图片并且实现预览效果的实例
2017/10/26 Javascript
vue element中axios下载文件(后端Python)
2019/05/10 Javascript
ES6中定义类和对象的方法示例
2019/07/31 Javascript
vue项目里面引用svg文件并给svg里面的元素赋值
2020/08/17 Javascript
讲解python参数和作用域的使用
2013/11/01 Python
Python中使用select模块实现非阻塞的IO
2015/02/03 Python
Tensorflow的常用矩阵生成方式
2020/01/04 Python
python爬虫爬取淘宝商品比价(附淘宝反爬虫机制解决小办法)
2020/12/03 Python
使用CSS3配合IE滤镜实现渐变和投影的效果
2015/09/06 HTML / CSS
HTML5之HTML元素扩展(下)—增强的Form表单元素值得关注
2013/01/31 HTML / CSS
HTML5 FileReader对象的具体使用方法
2020/05/22 HTML / CSS
ebookers英国:隶属全球最大的在线旅游公司Expedia
2017/12/28 全球购物
美国受信赖的教育产品供应商:Nest Learning
2018/06/14 全球购物
介绍一下write命令
2012/09/24 面试题
大四学生毕业自荐信
2013/11/07 职场文书
就业推荐表自我鉴定范文
2014/03/21 职场文书
大学生个人年度总结范文
2015/02/15 职场文书
总经理致辞
2015/07/29 职场文书
德生2P3收音机开箱评测
2022/04/30 无线电
Ubuntu18.04下QT开发Android无法连接设备问题解决实现
2022/06/01 Java/Android