2011-03-02 25 views
0

我試圖在數據仍在上傳時運行一些代碼。 Apache + PHP可以嗎?在PHP中仍然上傳時處理POST輸入

基本上,我試圖在客戶端 - >服務器上傳完成之前從php://輸入中讀取數據。上傳本身可能需要幾個小時,我想在工作時做一些日誌記錄。我不介意從阻塞文件描述符中讀取。

乾杯

+0

我推薦使用AJAX。 – Czechnology 2011-03-02 12:44:00

+0

我知道你可以使用APC來查看文件上傳的進度,而且這似乎是我所知道的最接近你所要查找的內容。 – Artefact2 2011-03-02 12:51:02

+0

順便說一句,你確定你的服務器會處理這麼大的上傳嗎?我不認爲http協議是最好的,相比FTP和類似的。 – Czechnology 2011-03-02 12:52:42

回答

0

不,您的腳本直到上傳完成才能控制。上面評論中提到的APC內容僅限於PHP將上傳狀態寫入系統中其他位置的文件,然後可以通過另一個腳本讀取該文件以發送進度信息。

但是,當上傳正在進行時,您無法對該連接進行任何操作,直到上傳完成或被中止。

PHP也非常適合非常大的上傳 - 考慮一下如果你的鏈接打亂了10bytes,那麼很長/很長的上傳結束時會發生什麼。由於PHP無法控制上傳,因此無法恢復。 FTP/SFTP更適合這種情況,尤其是因爲它們不會刪除中止的上傳。