php ZipArchive类的使用

原创
2016-10-22 00:14:13 781浏览

事情是这样的:准备做个批量下载,把所有需要下载的资源放在压缩包里,用了ZipArchive类

代码:

$filename='test.zip';
$zip=new ZipArchive();
$zip->open($filename,ZipArchive::CREATE);
$zip->addFile('favicon.ico');
$zip->close();
var_dump(fopen($filename,'r'));
var_dump(filesize($filename));

但是问题来了
1.必须向zip中加入文件,才可以正确打开,我个人的理解是zip为空的话,系统则不创建该zip,事实也确实没有创建,是这样的吗
2.我的测试是要在 $zip->close() 之后再fopen或filesize,参数是$filename,为何?
3.经测试,fopen或filesize的参数还不能是$zip->filename,为何?

回复内容:

事情是这样的:准备做个批量下载,把所有需要下载的资源放在压缩包里,用了ZipArchive类

代码:

$filename='test.zip';
$zip=new ZipArchive();
$zip->open($filename,ZipArchive::CREATE);
$zip->addFile('favicon.ico');
$zip->close();
var_dump(fopen($filename,'r'));
var_dump(filesize($filename));

但是问题来了
1.必须向zip中加入文件,才可以正确打开,我个人的理解是zip为空的话,系统则不创建该zip,事实也确实没有创建,是这样的吗
2.我的测试是要在 $zip->close() 之后再fopen或filesize,参数是$filename,为何?
3.经测试,fopen或filesize的参数还不能是$zip->filename,为何?

在执行$zip->addFile前,先判断要压缩的文件是否存在。
$zip->close之后就不能再使用$zip了,所以$zip->filename不能用了。

声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。
上一条:图片上传问题 下一条:Wordpress速度