首頁  >  文章  >  後端開發  >  php 大數據匯出CSV的問題

php 大數據匯出CSV的問題

WBOY
WBOY原創
2016-08-08 09:06:421271瀏覽

我現用php導出csv 實現過程是先生成文件,然後然後分批量查詢數據然後foreach 循環在一條一條寫入文件,寫入完成後執行下載方法下載文件,我現在的問題如果數據多的話, php程式執行完了,看檔案還是一直在寫入,不能執行下載方法,所以檔案就下載不了,請問有什麼辦法可以解決這個問題?

回覆內容:

我現用php導出csv 實現過程是先生成文件,然後然後分批量查詢數據然後foreach 循環在一條一條寫入文件,寫入完成後執行下載方法下載文件,我現在的問題如果數據多的話, php程式執行完了,看檔案還是一直在寫入,不能執行下載方法,所以檔案就下載不了,請問有什麼辦法可以解決這個問題?

這種資料量,單一php請求一般是會逾時的。

建議php文件每次請求只處理10條數據,追加寫入csv文件,單次請求快速返回。

接著寫一個js程序,ajax循環呼叫這個php文件,直到資料都處理完了,觸發網頁下載動作。這樣做還有一個好處,前端網頁可以即時顯示處理進度。

因為csv本質是純文本,你可以配合js和php,js發起多個請求分批過去字符串,最後讓js合併生成文件(鏈接以data:的方式)

文件未完全生成,按鈕是disable狀態

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn