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 cron中的批处理
Sep 16 PHP
IIS6+PHP5+MySQL5+Zend Optimizer+phpMyAdmin安装配置图文教程 2009年
Jun 08 PHP
PHP 创建文件(文件夹)以及目录操作代码
Mar 04 PHP
php下统计用户在线时间的一种尝试
Aug 26 PHP
ThinkPHP3.1新特性之字段合法性检测详解
Jun 19 PHP
smarty缓存用法分析
Dec 16 PHP
php生成年月日下载列表的方法
Apr 24 PHP
php实现可逆加密的方法
Aug 11 PHP
Zend Framework框架中实现Ajax的方法示例
Jun 27 PHP
PHP性能分析工具xhprof的安装使用与注意事项
Dec 19 PHP
PHP PDOStatement::columnCount讲解
Jan 30 PHP
PHP下载大文件失败并限制下载速度的实例代码
May 10 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/05/08 PHP
php常用字符串比较函数实例汇总
2014/11/24 PHP
php数值转换时间及时间转换数值用法示例
2017/05/18 PHP
javascript void(0)的妙用
2009/10/21 Javascript
javascript 函数使用说明
2010/04/07 Javascript
firebug的一个有趣现象介绍
2011/11/30 Javascript
解决3.01版的jquery.form.js中文乱码问题的解决方法
2012/03/08 Javascript
node.js中的fs.readdir方法使用说明
2014/12/17 Javascript
jQuery判断元素上是否绑定了指定事件的方法
2015/03/17 Javascript
JQuery显示隐藏页面元素的方法总结
2015/04/16 Javascript
JSON字符串和对象之间的转换详解
2015/05/26 Javascript
一不小心就做错的JS闭包面试题
2015/11/25 Javascript
js检测iframe是否加载完成的方法
2015/11/26 Javascript
jQuery.deferred对象使用详解
2016/03/18 Javascript
iScroll.js 使用方法参考
2016/05/16 Javascript
vue.js树形组件之删除双击增加分支实例代码
2017/02/28 Javascript
AngularJS封装$http.post()实例详解
2017/05/06 Javascript
node跨域请求方法小结
2017/08/25 Javascript
JS实现的全排列组合算法示例
2017/10/09 Javascript
three.js实现3D影院的原理的代码分析
2017/12/18 Javascript
微信小程序表单验证WxValidate的使用
2019/11/27 Javascript
js实现可爱的气泡特效
2020/09/05 Javascript
Pycharm编辑器技巧之自动导入模块详解
2017/07/18 Python
ubuntu安装sublime3并配置python3环境的方法
2018/03/15 Python
使用python读取txt文件的内容,并删除重复的行数方法
2018/04/18 Python
使用 Visual Studio Code(VSCode)搭建简单的Python+Django开发环境的方法步骤
2018/12/17 Python
python中温度单位转换的实例方法
2020/12/27 Python
乌克兰设计师和品牌的服装:Love&Live
2020/04/14 全球购物
大学生优秀的自我评价分享
2013/10/22 职场文书
幼儿园小班评语
2014/04/18 职场文书
新学期国旗下演讲稿
2014/05/08 职场文书
2014年骨干教师工作总结
2014/12/19 职场文书
个人简历求职信范文
2015/03/20 职场文书
2015年小学体育工作总结
2015/05/22 职场文书
2015年青年教师工作总结
2015/05/25 职场文书
小学教师见习总结
2015/06/23 职场文书