2014-02-13 47 views
0

我有一個簡單的PHP程序可以創建焦油。在成功的情況下,它輸出文件名,並在失敗的情況下輸出錯誤信息。

我的問題是如何應用條件來檢查它是否是錯誤的。

喜歡:

If ($output == error) 
    { 
    do something....  
    } 
else{ 
    do something.... 
} 

我的PHP代碼如下:

<?php 

$output = shell_exec("tar cvzf /var/www/html/abhishek/abhi.tar.gz -C /var/www/html/abhishek/ abhi.pdf 2>&1"); 

echo $output; 

?> 

注:我的文件名是動態的。

+0

也許你應該看看到PHP類PharData:http://www.php.net/manual/en/class.phardata.php – SenseException

回答

1

UNIX實用程序通常以退出狀態結束。退出狀態爲0表示成功或其他任何指示錯誤(不同錯誤的數字不同)。 exec代替shell_exec讓你捕捉代碼:

$lastLine = exec("tar ...", $output, $exitCode); 

if ($exitCode == 0) { 
    // success 
} else { 
    // failure 
} 
+0

爲什麼我們需要'$ output'在這裏? – codemania

+0

因爲您可能想要捕獲整個輸出,所以返回值只是最後一行。如果你想在它之後提供'$ exitCode'參數,你還需要提供一個參數。 – deceze

0

如果您知道文件名,那麼您可以使用file_exists來檢查文件是否存在。如果它存在,那麼它的成功&如果沒有,它的錯誤

+0

但文件名是動態的。 – codemania

0

可以使用EXEC實用。檢查this

希望這可以幫助你

感謝