php 下载的压缩文件,php在线压缩打包rar并自动下载文件的例子
php在線壓縮打包rar并自動(dòng)下載文件是需要基于ZipArchive了, linux需開啟zlib了,下面我們就一起來(lái)看看了,希望例子能夠幫助到各位朋友。
linux需開啟zlib。下面是具體的開啟方法
1. 下載安裝zlib
http://www.gzip.org/zlib/
解壓tar包,進(jìn)入目錄執(zhí)行命令:
./configure && make && make install
2. 添加php擴(kuò)展,命令如下:
[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擴(kuò)展目錄
[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 ( '無(wú)法打開文件,或者文件創(chuàng)建失敗' );
}
$fileNameArr = array('/upload/20140606/20140606011813-0.jpg','/upload/20140606/20140606013717-0.jpg');
foreach ( $fileNameArr as $val ) {
$zip->addFile ( $val, basename ( $val ) ); // 第二個(gè)參數(shù)是放在壓縮包中的文件名稱,要檢查一下文件是否已經(jīng)有了
}
$zip->close (); // 關(guān)閉
//發(fā)送到瀏覽器提示下載;
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" ); // 告訴瀏覽器,二進(jìn)制文件
header ( 'Content-Length: ' . filesize ( $filename ) ); // 告訴瀏覽器,文件大小
readfile ( $filename );//輸出文件;
?>
總結(jié)
以上是生活随笔為你收集整理的php 下载的压缩文件,php在线压缩打包rar并自动下载文件的例子的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: php函数内调用类的变量,php -
- 下一篇: php中add函数,php中addsla