php在线压缩打包rar并自动下载文件的例子
发布:smiling 来源: PHP粉丝网 添加日期:2015-12-10 14:47:55 浏览: 评论:0
php在线压缩打包rar并自动下载文件是需要基于ZipArchive了,linux需开启zlib了,下面我们就一起来看看了,希望例子能够帮助到各位朋友.
linux需开启zlib,下面是具体的开启方法.
1.下载安装zlib
http://www.gzip.org/zlib/
解压tar包,进入目录执行命令:
./configure && make && make install
2.添加php扩展,命令如下:
- [root@Ansen zlib]# pwd
- /root/lnmp/php-5.3.0/ext/zlib #php源码包目录
- [root@Ansen zlib]#mv config0.m4 config.m4
- [root@Ansen zlib]#/usr/local/php5/bin/phpize
- [root@Ansen zlib]#./configure --with-php-config=/usr/local/php/bin/php-config
- [root@Ansen zlib]#make
- [root@Ansen zlib]# cp modules/zlib.so /usr/local/php/lib/php/extension/ #php扩展目录
- [root@Ansen zlib]#vi /usr/local/php5/lib/php.ini
添加extension=zlib.so
3.重启apache
php 在线压缩打包rar代码
- <?php
- $filename = "./zip/" . date ( 'YmdH' ) . ".zip"; // 生成的压缩包名称(含路径)
- // 生成文件
- $zip = new ZipArchive (); // linux需开启zlib,
- if ($zip->open ( $filename, ZIPARCHIVE::CREATE ) !== TRUE) {
- exit ( '无法打开文件,或者文件创建失败' );
- }
- $fileNameArr = array('/upload/20140606/20140606011813-0.jpg','/upload/20140606/20140606013717-0.jpg');
- foreach ( $fileNameArr as $val ) {
- $zip->addFile ( $val, basename ( $val ) ); // 第二个参数是放在压缩包中的文件名称,要检查一下文件是否已经有了
- }
- $zip->close (); // 关闭
- //phpfensi.com
- //发送到浏览器提示下载;
- header ( "Cache-Control: max-age=0" );
- 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 );//输出文件;
- ?>
Tags: php在线压缩 php在线下载
推荐文章
热门文章
最新评论文章
- 写给考虑创业的年轻程序员(10)
- PHP新手上路(一)(7)
- 惹恼程序员的十件事(5)
- PHP邮件发送例子,已测试成功(5)
- 致初学者:PHP比ASP优秀的七个理由(4)
- PHP会被淘汰吗?(4)
- PHP新手上路(四)(4)
- 如何去学习PHP?(2)
- 简单入门级php分页代码(2)
- php中邮箱email 电话等格式的验证(2)