2012-05-13 28 views
0

我有HTML文件的大小高達1GB。並且我想在數據庫中上傳這個html文件的內容。該文件(html)包含<table><tr><td></td></tr></table>標籤。如果文件大小大約爲5MB或6MB,但這個大文件大小給我錯誤的內存(xxxxx字節)試圖分配(xxxxxxx字節)。加載和插入百萬記錄在PHP和MySQL的HTML文件如何

如何上傳大文件大小在數據庫中的數據..

我使用的DOMDocument - > LoadHTMLfile功能....和getElementByTagName( 「TR」)

+1

你能不能簡單地將這個1GB文件拆分成幾個較小的文件? – Lix

回答

2

PHP運行時內存不足而試圖分配的內存用於陣列,變量等在php.ini指定與指令

memory_limit = 128M 

(或類似的存儲器中的最大數量被觸發此錯誤)。嘗試提高價值,看看它是否有幫助。但是,如果你超過了一個非常大的內存分配(比如說256 MB或更高),那麼你的設計肯定存在一個缺陷,因爲你不應該一次將這麼多的數據保存在內存中。

如果您正在處理一個文件,您應該以塊讀取文件,將數據插入數據庫並讀取更多塊。對於HTML處理SAX解析器可能是個好主意,也許是something like this

+0

我做了解析....謝謝 –