您的位置:首页 > 编程语言 > PHP开发

php 利用ZipArchive 实现文件打包

2012-02-10 10:55 453 查看
转自:http://www.neatcn.com/show-961-1.shtml

$filename = "./test/test.zip"; //最终生成的 文件名(含路径)

if(!file_exists($filename)){

//重新生成文件

$zip = new ZipArchive();//使用本 类,linux需开启 zlib,windows需取消php_zip.dll前的注释

if ($zip->open($filename, ZIPARCHIVE::CREATE)!==TRUE) {

exit('无法打开文件,或 者文件创建失败');

}

foreach( $datalist as $val){

$attachfile = $attachmentDir . $val['filepath']; //获取原始 文件路径

if(file_exists($attachfile)){

$zip->addFile( $attachfile , basename($attachfile));//第二个参 数是放在压缩包中的文件名称,如果文件可能会有重复,就需要注意一下

}

}

$zip->close();//关闭

}

if( !file_exists($filename)){

exit("无法找到文件"); //即使创建,仍有可能失败。。。。

}

header("Cache-Control: public");

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);
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: