php 下载的压缩文件,php在线压缩打包rar并自动下载文件的例子

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代码

$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 (); // 关闭

//发送到浏览器提示下载;

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 );//输出文件;

?>

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值