事情是這樣的:準備做個批量下載,把所有需要下載的資源放在壓縮包裡,用了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不能用了。