我有一個導入模塊,我必須逐行處理製表符分隔的txt文件。問題是該文件可能有超過250K行。我必須在MySQL數據庫中進行SELECT和UPDATE或INSERT操作。這可能會使服務器工作3-4個小時。 我想把一個狀態欄顯示在處理中我們在哪裏。我在處理文件的行時嘗試更新輸入,但瀏覽器無法真正輸出它,它只是凍結。我怎樣才能輸出處理的狀態?PHP處理製表符分隔線逐行進度/狀態欄
1
A
回答
1
您必須異步執行此操作,否則從瀏覽器到服務器的連接將超時。
您可以在數據庫中創建另一個表來保存文件處理的進度 - 您可以每處理100或1000行更新該表中的記錄。
在客戶端,您可以通過interogating後端並從該進度表中獲取值來更新javascript中的進度條。
0
Maype一個簡單的flush()將做的工作:
// ...
$done++
if (($done % 1000) == 0) {
print "$done of $total lines processed<br />";
flush();
}
// ...
如果您使用Windows的服務器,你可能有一個看的文檔頁面的評論,似乎有一些怪癖: http://php.net/manual/en/function.flush.php
相關問題
- 1. 在狀態欄中使用分隔符
- 2. Excel VBA進度/狀態欄
- 3. 處理狀態欄通知
- 4. 更新狀態欄內的進度欄
- 5. 處理分隔符分隔值
- 6. 製表符分隔符不工作批處理命令
- 7. PHP上傳進度狀態
- 8. 如何逐行處理輸出並保存返回狀態?
- 9. 正則表達式來處理一組動態分隔符
- 10. PHP自行處理Win和* nix中的路徑分隔符嗎?
- 11. 添加行與2製表符分隔欄
- 12. 隱藏分隔線,並保持狀態欄的顏色一樣的導航欄
- 13. 十進制分隔符oracle
- 14. java十進制分隔符
- 15. sprintf十進制分隔符
- 16. 如何處理狀態欄通知?
- 17. PHP fgetcsv()製表符分隔不正確
- 18. 使用Perl散列處理製表符分隔文件
- 19. 將xlsx轉換爲txt製表符分隔 - 批處理
- 20. 處理PHP中的製表符分隔文件中的雙標籤頁
- 21. 取決於方向處理狀態欄高度
- 22. 如何在React Native中處理iOS狀態欄高度變化?
- 23. 逐漸更改狀態欄顏色
- 24. phpDocumentor製表符分隔符
- 25. php:處理數組時輸出狀態欄(ajax/jQuery?)
- 26. TMUX電力線狀態間隔進行閃動
- 27. 在製表符處分割線
- 28. 將'='分隔線上的文本文件逐行分解C++
- 29. c#對一個製表符分隔的文件進行排序
- 30. 製表符分隔或逗號分隔輸出中的新行
謝謝,聽起來不錯。如果我用jQuery AJAX做到這一點,它會輸出它嗎? – Ervin
是的......我建議您啓動一個後臺進程來處理大文件 –