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);
$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);
相关文章推荐
- PHP如何利用Python实现对PDF文件的操作
- __利用PHP的debug_backtrace函数,实现PHP文件权限管理、动态加载
- (转)利用PHP的debug_backtrace函数,实现PHP文件权限管理、动态加载 【反射】
- php无刷新利用iframe实现页面无刷新上传文件(1/2)
- php打包压缩文件之ZipArchive方法用法分析
- 文件打包,下载之使用PHP自带的ZipArchive压缩文件并下载打包好的文件
- 实现php加速的eAccelerator dll支持文件打包下载
- 利用PHP的debug_backtrace函数,实现PHP文件权限管理、动态加载
- fabric-file.py――利用fabric实现文件打包、上传和校验
- php文件打包 下载之使用PHP自带的ZipArchive压缩文件并下载打包好的文件
- php利用header()实现文件下载
- 利用php+mcDropdown实现文件路径可在下拉框选择
- 利用php内置的svn函数实现的根据svn版本号导出相关文件的功能
- php打包压缩文件之ZipArchive方法
- PHP/ThinkPHP实现批量打包下载文件的方法示例
- 文件打包,下载之使用PHP自带的ZipArchive压缩文件并下载打包好的文件
- php利用iframe实现无刷新文件上传功能
- 利用PHP实现智能文件类型检测的实现代码
- php利用header函数实现文件下载时直接提示保存