事情是这样的:准备做个批量下载,把所有需要下载的资源放在压缩包里,用了ZipArchive类
代码:
<code>$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)); </code>
但是问题来了
1.必须向zip中加入文件,才可以正确打开,我个人的理解是zip为空的话,系统则不创建该zip,事实也确实没有创建,是这样的吗
2.我的测试是要在 $zip->close() 之后再fopen或filesize,参数是$filename,为何?
3.经测试,fopen或filesize的参数还不能是$zip->filename,为何?
事情是这样的:准备做个批量下载,把所有需要下载的资源放在压缩包里,用了ZipArchive类
代码:
<code>$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)); </code>
但是问题来了
1.必须向zip中加入文件,才可以正确打开,我个人的理解是zip为空的话,系统则不创建该zip,事实也确实没有创建,是这样的吗
2.我的测试是要在 $zip->close() 之后再fopen或filesize,参数是$filename,为何?
3.经测试,fopen或filesize的参数还不能是$zip->filename,为何?
在执行$zip->addFile前,先判断要压缩的文件是否存在。
$zip->close之后就不能再使用$zip了,所以$zip->filename不能用了。