2015-11-18 80 views
0

解壓,所以我有這樣的代碼:檢測殼exec失敗對PHP

$destination = "/dest"; 
$filepath = 'filepath.zip'; 
$ret = shell_exec("unzip " . escapeshellarg($filepath) . " -d " . escapeshellarg($destination) . "; 

我的問題是,我如何可靠地知道在PHP中解壓縮操作是否成功,或者如果它結束了遇到了一些錯誤?

回答

0

shell_exec將返回解壓縮的輸出。

將-q參數添加到解壓縮會抑制輸出,您可以設置爲取消除錯誤以外的所有消息,並且如果$ret長度不等於0,則操作未成功完成。

unzip -tq archive.zip只有存檔正常或沒有時纔會輸出。你可以先運行這個命令,用PHP檢查輸出結果,如果成功則運行提取。

+0

嘿感謝的人。我如何做到這一點雖然「你可以設置壓制除錯誤的所有消息」 – pillarOfLight