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加密解密的代码
Jul 16 PHP
PHP CURL模拟GET及POST函数代码
Apr 25 PHP
PHP执行zip与rar解压缩方法实现代码
Dec 05 PHP
PHP中判断变量为空的几种方法分享
Aug 26 PHP
php使用fopen创建utf8编码文件的方法
Oct 31 PHP
php中删除数组的第一个元素和最后一个元素的函数
Mar 07 PHP
PHP模拟QQ登录的方法
Jul 29 PHP
如何使用PHP Embed SAPI实现Opcodes查看器
Nov 10 PHP
利用PHPStorm如何开发Laravel应用详解
Aug 30 PHP
PHP简单实现模拟登陆功能示例
Sep 15 PHP
laravel 使用auth编写登录的方法
Sep 30 PHP
Yii框架自定义数据库操作组件示例
Nov 11 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制作静态网站的模板框架
2006/10/09 PHP
用PHP实现小型站点广告管理(修正版)
2006/10/09 PHP
探究Laravel使用env函数读取环境变量为null的问题
2016/12/06 PHP
JS获取scrollHeight问题想到的标准问题
2007/05/27 Javascript
js 禁用只读文本框获得焦点时的退格键
2010/04/25 Javascript
jQuery实现Div拖动+键盘控制综合效果的方法
2015/03/10 Javascript
JavaScript编程中布尔对象的基本使用
2015/10/25 Javascript
Nodejs获取网络数据并生成Excel表格
2020/03/31 NodeJs
jQuery代码性能优化的10种方法
2016/06/21 Javascript
浅析JavaScriptSerializer类的序列化与反序列化
2016/11/22 Javascript
AngularJS中directive指令使用之事件绑定与指令交互用法示例
2016/11/22 Javascript
简单的jQuery拖拽排序效果的实现(增强动态)
2017/02/09 Javascript
简述jQuery Easyui一些用法
2017/08/01 jQuery
Javascript中this关键字指向问题的测试与详解
2017/08/11 Javascript
JS+canvas绘制的动态机械表动画效果
2017/09/12 Javascript
Angular5中调用第三方库及jQuery的添加的方法
2018/06/07 jQuery
layui 图片上传+表单提交+ Spring MVC的实例
2019/09/21 Javascript
js正则匹配多个全部数据问题
2019/12/20 Javascript
[56:35]DOTA2上海特级锦标赛主赛事日 - 5 总决赛Liquid VS Secret第一局
2016/03/06 DOTA
python多进程操作实例
2014/11/21 Python
python基于BeautifulSoup实现抓取网页指定内容的方法
2015/07/09 Python
初步认识Python中的列表与位运算符
2015/10/12 Python
python脚本设置超时机制系统时间的方法
2016/02/21 Python
Python基于socket模块实现UDP通信功能示例
2018/04/10 Python
用Django写天气预报查询网站
2018/10/21 Python
[原创]Python入门教程5. 字典基本操作【定义、运算、常用函数】
2018/11/01 Python
关于pymysql模块的使用以及代码详解
2019/09/01 Python
python中JWT用户认证的实现
2020/05/18 Python
Python字符串函数strip()原理及用法详解
2020/07/23 Python
Python通过fnmatch模块实现文件名匹配
2020/09/30 Python
教师节促销活动方案
2014/02/14 职场文书
《小池塘》教学反思
2014/02/28 职场文书
初三学生个人自我评定
2014/04/06 职场文书
高中家长意见怎么写
2015/06/03 职场文书
python数字图像处理数据类型及颜色空间转换
2022/06/28 Python
nginx sticky实现基于cookie负载均衡示例详解
2022/12/24 Servers