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