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 相关文章推荐
phpmyadmin 常用选项设置详解版
Mar 07 PHP
网站用php实现paypal整合方法
Nov 28 PHP
php中inlcude()性能对比详解
Sep 16 PHP
ThinkPHP实现跨模块调用操作方法概述
Jun 20 PHP
PHP图片自动裁切应付不同尺寸的显示
Oct 16 PHP
php使用str_replace实现输入框回车替换br的方法
Nov 24 PHP
PHP实现算式验证码和汉字验证码实例
Mar 09 PHP
PHP实现加密文本文件并限制特定页面的存取的效果
Oct 21 PHP
php执行多个存储过程的方法【基于thinkPHP】
Nov 08 PHP
PHP基于接口技术实现简单的多态应用完整实例
Apr 26 PHP
[原创]php实现数组按拼音顺序排序的方法
May 03 PHP
Nginx下ThinkPHP5的配置方法详解
Aug 01 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自动获取目录下的模板的代码
2010/08/08 PHP
php中记录用户访问过的产品,在cookie记录产品id,id取得产品信息
2011/05/04 PHP
PHP中的socket_read和socket_recv区别详解
2015/02/09 PHP
php开发中的页面跳转方法总结
2015/04/26 PHP
TP5框架实现自定义分页样式的方法示例
2020/04/05 PHP
JavaScript中String.prototype用法实例
2015/05/20 Javascript
浏览器中url存储的JavaScript实现
2015/07/07 Javascript
基于javascript实现泡泡大冒险网页版小游戏
2016/03/23 Javascript
jquery显示隐藏元素的实现代码
2016/05/19 Javascript
jQuery EasyUI提交表单验证
2016/07/19 Javascript
jQuery遍历节点树方法分析
2016/09/08 Javascript
JavaScript生成.xls文件的代码
2016/12/22 Javascript
jQuery模拟下拉框选择对应菜单的内容
2017/03/07 Javascript
微信小程序背景音乐开发详解
2019/12/12 Javascript
何时/使用 Vue3 render 函数的教程详解
2020/07/25 Javascript
如何利用nodejs实现命令行游戏
2020/11/24 NodeJs
[54:08]LGD女子刀塔学院 DOTA2炼金术士教学
2014/01/09 DOTA
在Python中使用mechanize模块模拟浏览器功能
2015/05/05 Python
python 爬取微信文章
2016/01/30 Python
python3使用PyMysql连接mysql数据库实例
2017/02/07 Python
Python爬虫工程师面试问题总结
2018/03/22 Python
Python 正则表达式匹配字符串中的http链接方法
2018/12/25 Python
python requests库爬取豆瓣电视剧数据并保存到本地详解
2019/08/10 Python
Python 使用多属性来进行排序
2019/09/01 Python
python如何实时获取tcpdump输出
2020/09/16 Python
纯CSS3绘制打火机动画火焰效果
2016/07/18 HTML / CSS
家用个人磨皮机:Trophy Skin
2017/03/30 全球购物
意大利制造的男鞋和女鞋:SCAROSSO
2018/03/07 全球购物
餐饮业会计岗位职责
2013/12/19 职场文书
求职简历中自我评价
2014/01/28 职场文书
社区敬老月活动实施方案
2014/02/17 职场文书
《秋游》教学反思
2014/04/24 职场文书
挂职学习心得体会
2014/09/09 职场文书
会议欢迎词
2015/01/23 职场文书
Python通过m3u8文件下载合并ts视频的操作
2021/04/16 Python
Java中的Kafka为什么性能这么快及4大核心详析
2022/09/23 Java/Android