[英]Some kind of php flush
讓我描述一下我首先做的事:
我必須從不同的xml導入大量數據到我的數據庫中,因為它持續了很多時間,所以我必須放置一個進度條,並且這樣做是這樣的:我將整個導入拆分成很小的AJAX小請求,並且在時間(一個ajax請求完成進度條時會增加一點)。 整個想法很棒,但是數據只會越來越大,我再也無法優化代碼了(它會盡可能地得到優化)。
問題在於,每次我進行AJAX調用時,我都會花很多時間在框架特有的內容(模型初始化和內容)上,而瀏覽器會處理url等。 所以我想知道是否可以使用php中的flush函數。
但是我一直在閱讀沖洗功能並不是在所有瀏覽器上都很好用(這很奇怪,因為它是服務器端功能)。 如果我要使用沖洗功能,則只需編寫<script>increase_progressbar</script>
或任何我想要的東西,我就可以做到。
那么,對沖洗功能有何看法? 我一直在小腳本上對其進行測試,但我想知道是否有人真的在大型腳本上使用了它。 另外,我可以聽聽做我想做的任何其他建議:)
我不會直接給您建議,但是我會告訴您我在我的一個項目中是如何做到的。 就我而言,我需要上傳一個Excel文件,然后解析它們。 數據超過3000行,我不得不檢查每行的所有列中是否有某些數據。 當我在上傳后直接對其進行解析時,解析器經常會在某處崩潰,這確實不安全。
那我是怎么做到的? 上傳過程分為兩部分:
物理上載文件(常規上載字段並提交)。 當單擊按鈕時,一些CSS和JS“魔術”隱藏了表單,並且屏幕上出現了一個漂亮的加載欄。 上傳完成后,頁面將刷新,並且該表格再次顯示下一個文件
開始使用php-cli在后台解析數據,就像@Dragon在exec()中建議的那樣。
在數據庫中,我有一個表,用於存儲有關文件的信息,並且有一個布爾字段,稱為“已解析”。 解析器完成工作后,最后一項任務是將該字段更新為true。
因此,這是從用戶角度來看的整個過程:
在我的項目中,我不需要顯示有關導入的額外詳細信息,但是您總是可以將其他額外的數據付諸東流。
希望這對您的項目有所幫助。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.