2012-01-08 19 views
0

我有一個發送通知郵件的PHP頁面。當它發出超過100次時,它會超時。我希望頁面能夠像Kayak一樣工作,以便用戶可以看到進度(因此他們會等待更長的時間)。PHP頁面超時 - 我可以通過異步顯示來解決嗎?

如何將我的頁面快速發送郵件之前加載(防止超時),然後更新爲當過程運行(例如,作爲每封電子郵件被髮送行被寫入到屏幕)?

+0

使用AJAX。最好不要在服務器端的PHP。像這樣的東西確實需要一個工作者線程 - 也許你可以用['proc_open()'](http://php.net/manual/en/function.proc-open.php)來模仿它,但這並不容易 - 你最好開始一個工作進程,然後用AJAX輪詢數據庫以獲得進度更新。 – DaveRandom 2012-01-08 17:15:08

回答

0

你可以使用AJAX做到這一點。發送一個發出50(或任何其他適合時間限制的數字)的AJAX請求並回顯結果。當請求成功完成後,使用名爲offset的參數發送下一個AJAX-Request,該參數將用於跳過第一個X數據集。

+0

謝謝 - AJAX跨越了一堆技術 - 你能更具體 - 我假設你建議使用Javascript。任何指向示例代碼或例程的指針都可以實現您所描述的內容/更具體而言非常讚賞以說明您的答案。 – rihallix 2012-01-08 19:39:33

+0

我認爲是這樣的:https://gist.github.com/1582933的JS是一個jQuery的AJAX請求,我想這可能是無論如何理解。該代碼沒有測試工作,但它應該給出一個想法如何做。 – TimWolla 2012-01-09 13:30:15

相關問題