真實世界的問題:我正在建立一個頁面dinamically。這個頁面是一個由用戶檢索的xml(curl,file_get_contents或任何可以通過製作服務器端腳本)。 一旦用戶發出請求,他開始等待,我開始從數據庫中檢索一大組數據,並用它們建立一個xml(使用php dom對象)。一旦我完成了,我會觸發「print $ document-> saveXML()」。大約需要8分鐘來創建這個40兆字節的文檔。然後,隨時準備好我服務的頁面/文檔。現在我有一個60秒連接超時的用戶:他說我需要每60秒發送一個八位字節。我怎樣才能做到這樣的事情?發送空數據包不超時連接
因爲它是無用張貼23987452行代碼的原因沒人會閱讀他們,我會解釋這成爲此頁爲實非常僞僞代碼的腳本:
- 抓住所有的從DB數據:一個巨大的組行
- 創建一個DOMDocument元件通過各行
- 環和節點元素添加到DOM文檔包含一塊數據
- 呼叫$ dom-> saveXML()將文檔作爲字符串獲取
- 打印字符串,以便用戶檢索XML文檔
1)我無法發送真實的數據,因爲它是一個XML文檔,它開始與"<?xml..."
不弄亂parser.`
2)用戶不能處理防火牆/ SERVERCONFIG
3)I無法處理「購買更強大的服務器」
4)我試圖在頂部使用ob_start()該腳本,然後在每個循環的開始處一個"header("Transfer-Encoding: chunked"); ob_flush(); "
但沒有什麼:在8分鐘之前沒有任何事情發生。
幫幫我吧!
您將不得不隨時隨地生成XML,隨時輸出。或者,或者將其輸出到後臺的文件中,並在準備就緒時提供文件。 – Brad
我已經準備好了。我需要以大塊或類似的方式提供它。但是我不能輸出它,因爲php中的domdocument類是一個對象,一旦你調用saveXML(),它就會用它的結束標籤生成xml! –