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 相关文章推荐
收集的DedeCMS一些使用经验
Mar 17 PHP
支持数组的ADDSLASHES的php函数
Feb 16 PHP
php park、unpark、ord 函数使用方法(二进制流接口应用实例)
Oct 19 PHP
php Smarty 字符比较代码
Feb 27 PHP
win2003服务器使用WPS的COM组件的一些问题解决方法
Jan 11 PHP
采用thinkphp自带方法生成静态html文件详解
Jun 13 PHP
php获取远程文件的内容和大小
Nov 03 PHP
PHP数组操作简单案例分析
Oct 15 PHP
PHP使用DOM和simplexml读取xml文档的方法示例
Feb 08 PHP
thinkphp3.2实现在线留言提交验证码功能
Jul 19 PHP
在php的yii2框架中整合hbase库的方法
Sep 20 PHP
Laravel使用RabbitMQ的方法示例
Jun 18 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中常用编辑器推荐
2007/01/02 PHP
用来给图片加水印的PHP类
2008/04/09 PHP
PHP动态生成javascript文件的2个例子
2014/04/11 PHP
PHP中可以自动分割查询字符的Parse_str函数使用示例
2014/07/25 PHP
php实现改变图片直接打开为下载的方法
2015/04/14 PHP
效率高的Javscript字符串替换函数的benchmark
2008/08/02 Javascript
javascript面向对象的方式实现的弹出层效果代码
2010/01/28 Javascript
jquery学习笔记二 实现可编辑的表格
2010/04/09 Javascript
Javascript new关键字的玄机 以及其它
2010/08/25 Javascript
用Javascript评估用户输入密码的强度实现代码
2011/11/30 Javascript
javascript 上下banner替换具体实现
2013/11/14 Javascript
JavaScript数值转换的三种方式总结
2014/07/31 Javascript
node.js中的console.dir方法使用说明
2014/12/10 Javascript
jQuery中ajax的get()方法用法实例
2014/12/26 Javascript
JavaScript中的值类型转换介绍
2014/12/31 Javascript
基于javascript制作经典传统的拼图游戏
2016/03/22 Javascript
Javascript设计模式之观察者模式(推荐)
2016/03/29 Javascript
jquery easyui datagrid实现增加,修改,删除方法总结
2016/05/25 Javascript
简单实现JS计算器功能
2016/12/21 Javascript
jQuery插件zTree实现的多选树效果示例
2017/03/08 Javascript
详解AngularJs ui-router 路由的简单介绍
2017/04/26 Javascript
详解vue父子组件间传值(props)
2017/06/29 Javascript
基于webpack4.X从零搭建React脚手架的方法步骤
2018/12/23 Javascript
js实现点击图片在屏幕中间弹出放大效果
2019/09/11 Javascript
[03:04]2018年国际邀请赛典藏宝瓶&莱恩声望物品展示 片尾有彩蛋
2018/06/04 DOTA
在Python的Flask框架中构建Web表单的教程
2016/06/04 Python
Python实现DDos攻击实例详解
2019/02/02 Python
捷克家居装饰及图书音像购物网站:Velký košík
2018/04/16 全球购物
美国宠物护理专家:Revival Animal Health
2020/01/05 全球购物
手工社团活动方案
2014/02/17 职场文书
人事部岗位职责范本
2014/03/05 职场文书
教师节促销方案
2014/03/22 职场文书
三八节活动主持词
2015/07/04 职场文书
2016年12月份红领巾广播稿
2015/12/21 职场文书
pytorch--之halfTensor的使用详解
2021/05/24 Python
在Java中Collection的一些常用方法总结
2021/06/13 Java/Android