2014-06-29 105 views
0

我試圖運行PHP中的Linux命令,如「wget的」,但這樣如果服務器下載一個大文件不PHP的操作系統命令了shell_exec延遲和計時碼

<? $s = shell_exec("wget file"); echo $s ; ?> 

做回聲$ s的;顯示下載吧我敢肯定它不會
問題是如何將這個文件完成後運行另一個CMD
什麼,我想說的是,當下載完成後運行其他命令狀

<? 
$s = shell_exec("wget filename.zip"); 
echo $s ; 
$c = shell_exec("unzip filename.zip"); 
echo $c; 
?> 

回答

1

在完成命令之前,shell_exec()函數不會返回。如果它產生交互式輸出,就像進度條一樣,直到最後纔會看到它。

如果您通過網絡服務器運行PHP腳本,瀏覽器通常不會顯示任何內容,直到腳本完成。 This page顯示了一個使用PHP的輸出緩衝函數來顯示中間結果的技巧,但我不確定它是多麼可靠;它似乎取決於Internet Explorer的實施細節。

+0

所以我怎麼回聲文件的完成下載&解壓縮開始。? &thnx用於編輯 – user3771934

+0

如果您是通過瀏覽器運行此操作,則在完成整個腳本之前不會顯示任何內容。 – Barmar