当前位置:Gxlcms > PHP教程 > phpZipArchive类的使用

phpZipArchive类的使用

时间:2021-07-01 10:21:17 帮助过:13人阅读

事情是这样的:准备做个批量下载,把所有需要下载的资源放在压缩包里,用了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不能用了。

人气教程排行