2013-04-17 126 views
4

我有zip壓縮文件,提取他後我需要檢查moduleConfig.xml文件是否存在於zip壓縮文件中。我怎麼能做到這一點。如何檢查zip文件中是否存在文件

我試試這個

$zip = new ZipArchive(); 
if($zip->open('test.zip') === TRUE) 
{ 
    if(file_exists($zip->getFromName('moduleConfig.xml'))) 
    { 
     echo "Config exists"; 
     // Do somthing 
    } 
} 
else { 
    echo 'Failed code:'. $res; 
} 
+0

你嘗試過這一點,但它做了什麼呢? – dbf

+0

我試試這個,這不工作。我不明白你的問題。 – Ivan

回答

5

嘗試:

if ($zip->locateName('moduleConfig.xml') !== false) 
{ 
    echo "Config exists"; 
} 
+0

感謝@redreggae這項工作很好。 ++ – Ivan

8

它應該是這樣的:

$zip = new ZipArchive(); 
if($zip->open('test.zip') === TRUE) 
{ 
    if ($zip->locateName('moduleConfig.xml') !== false) 
    { 
    echo "Config exists"; 
    } 
} 
else { 
    echo 'Failed code:'. $res; 
} 
+0

是的,我的代碼看起來像你的。謝謝 – Ivan

+0

注意:您應該使用'!== false'來檢查它,因爲當文件存在時它可以返回'0'。所以'如果($ zip-> locateName('file.xml')){...}'不能正常工作。 [更多信息](http://php.net/manual/en/ziparchive.locatename.php) – hosein

相關問題