教程集 www.jiaochengji.com
教程集 >  脚本编程  >  php  >  正文 php在线压缩打包rar并自动下载文件的例子

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

发布时间:2016-11-27   编辑:jiaochengji.com
教程集为您提供php在线压缩打包rar并自动下载文件的例子等资源,欢迎您收藏本站,我们将为您提供最新的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代码

<?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 (); // 关闭
 
//发送到浏览器提示下载;
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 );//输出文件;
?>

您可能感兴趣的文章:
php在线压缩打包rar并自动下载文件的例子
RAR参数详解
压缩文件忘记密码怎么办 压缩文件密码找回方法
Linux压缩打包命令
压缩文件并以日期格式命名的shell脚本
通过实例学习Linux打包命令tar
linux下解压缩rar文件的办法
PHP中phar包的使用
php 字符串压缩方法对比分析
安卓手机如何打开.crx文件

[关闭]
~ ~