当前位置:首页 > PHP教程 > php应用 > 列表

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扩展,命令如下:

  1. [root@Ansen zlib]# pwd  
  2. /root/lnmp/php-5.3.0/ext/zlib #php源码包目录 
  3. [root@Ansen zlib]#mv config0.m4 config.m4  
  4. [root@Ansen zlib]#/usr/local/php5/bin/phpize  
  5. [root@Ansen zlib]#./configure --with-php-config=/usr/local/php/bin/php-config  
  6. [root@Ansen zlib]#make  
  7. [root@Ansen zlib]# cp modules/zlib.so /usr/local/php/lib/php/extension/   #php扩展目录 
  8. [root@Ansen zlib]#vi /usr/local/php5/lib/php.ini 

添加extension=zlib.so

3.重启apache

php 在线压缩打包rar代码

  1. <?php 
  2. $filename = "./zip/" . date ( 'YmdH' ) . ".zip"// 生成的压缩包名称(含路径) 
  3. // 生成文件 
  4. $zip = new ZipArchive (); // linux需开启zlib, 
  5. if ($zip->open ( $filename, ZIPARCHIVE::CREATE ) !== TRUE) { 
  6.     exit ( '无法打开文件,或者文件创建失败' ); 
  7. $fileNameArr = array('/upload/20140606/20140606011813-0.jpg','/upload/20140606/20140606013717-0.jpg'); 
  8. foreach ( $fileNameArr as $val ) { 
  9.     $zip->addFile ( $valbasename ( $val ) ); // 第二个参数是放在压缩包中的文件名称,要检查一下文件是否已经有了 
  10. $zip->close (); // 关闭 
  11. //phpfensi.com 
  12. //发送到浏览器提示下载; 
  13. header ( "Cache-Control: max-age=0" ); 
  14. header ( "Content-Description: File Transfer" ); 
  15. header ( 'Content-disposition: attachment; filename=' . basename ( $filename ) ); // 文件名 
  16. header ( "Content-Type: application/zip" ); // zip格式的 
  17. header ( "Content-Transfer-Encoding: binary" ); // 告诉浏览器,二进制文件 
  18. header ( 'Content-Length: ' . filesize ( $filename ) ); // 告诉浏览器,文件大小 
  19. readfile ( $filename );//输出文件; 
  20. ?>

Tags: php在线压缩 php在线下载

分享到: