2011-02-28 64 views
0

我知道這是一個菜鳥問題,但實際發生的進度條是什麼實際監控。進度條什麼是實際發生

我想要理解它的唯一方法就是得到這個答案。

當我運行一段關閉php代碼我怎麼能得到一個進度條來監控它,直到它運行直到代碼完成?

我見過的大多數進度條都是文件上傳和下載。是否監視瀏覽器在上載文件時發送的請求數量,以便監視正在傳輸的字節數?

有人能給我一個更好的瞭解什麼正在發生?

我只是想要一個簡單的進度條來監視進度,而我的php代碼正在運行,所以說如果我運行這個簡單的代碼備份網站文件和文件夾,我怎麼能這樣做?

<?php if (isset($_POST['backup'])) { 
     if(exec("cd {$_SERVER['DOCUMENT_ROOT']}/wp-content/plugins/s3bk/files;tar -cvpzf backup.tar ".get_option( 'isd-server')."")) { echo "done"; } 
} 
<form id="backup" method='post' action=''> 
<?php if (function_exists('wp_nonce_field')) { wp_nonce_field('s3bk-updatesettings'); } ?> 
<input type='submit' class="button" name='backup' value='backup'> 

抱歉,菜鳥問題只是真的想讓我的腦袋圍繞什麼實際發生?

感謝

回答

1

您將無法監控類似的東西 - 你的exec()荷蘭國際集團從PHP外部程序,因此PHP被暫停,外部進程處於活動狀態。同樣,焦油不能提前報告要做多少事情,它只能報告它做了什麼或正在做什麼。

進度條的工作原理是(how much is done/how much there is todo) * 100。如果事先不知道需要用tar備份多少個文件/字節,則無法計算完成百分比。

+0

嗨marc感謝您的答覆與PHP你如何監測「多少已完成」所以說如果我管理文件上傳在什麼時候php抓住一個百分比,並不斷從中獲取信息? – iSimpleDesign 2011-03-01 12:41:27

+0

直到上傳完成後,PHP纔會啓動上傳處理腳本,從而無法進度條。從PHP 5.2開始,有一些掛鉤允許將進度更新寫出到文件中,這可以通過其他腳本進行監視。 PHP手冊頁的評論,http://php.net/manual/en/features.file-upload.php#71564,有一些細節。 – 2011-03-01 14:26:52

相關問題