2013-04-08 56 views
0

之前在PHP打印有形式提交時,調用PHP頁面(sample.php)我如何執行

我的PHP頁面做了很多的執行,這大約需要5分鐘的時間。我也印刷「執行!」在我的sample.php頁面上。

此執行得到打印..只有在它執行了所有內容(5分鐘)後。

我希望我的php頁面在執行所有處理之前打印「已執行」。

我對此有何看法?

+4

打印在頁面的開頭 – user1370510 2013-04-08 08:52:50

+0

它應該是類似執行正在進行或進度條之類的東西,否則你就是在說:) – 2013-04-08 08:54:36

+0

@Bojan好..我只是舉了一個例子以上.. – dreamer 2013-04-08 08:58:59

回答

0

已經有幾種解決方案發布使用ignore_user_abort()flush()在頁面交付給客戶端後繼續後臺工作。你應該開始閱讀關於connection handling在PHP網站上的文檔

然而,如果你要求一個穩定的解決方案,我會設計你的應用程序'sample.php'(表單動作)只會收到一個作業,將其添加到隊列(可能是數據庫表)並報告已添加作業。另一個進程在後臺運行(可能是每個cron或其他),並自行運行作業。另外,我會創建一個頁面,如'progress.php',可以查看作業的進度。響應可能是json或類似的東西,這樣它可以很容易地集成到其他頁面或用作JavaScript進度條的數據饋送,你已經被要求。