使用fgetcsv
使用fgetcsv,可我不知做破壞性讀,我已經閱讀並處理將被丟棄,所以如果我不第一遍撐過整個文件行,我可以回來接我在the script timed out
之前離開的地方嗎?PHP在一個巨大的CSV文件
其他細節:
我越來越從要像一個200MB的.gz文件供應商每天的產品飼料。當我解壓文件時,它變成了一個1.5GB的.csv文件,有近50萬行和20 - 25個字段。我需要將這些信息讀入MySQL數據庫,理想情況下使用PHP,以便我可以安排CRON每天在我的虛擬主機提供商處運行腳本。
託管服務提供商將服務器硬盤超時設置爲180秒,任何單個腳本的最大內存使用率限制爲128mb。我不能改變這些限制。
我的想法是使用fgetcsv函數從.csv獲取信息,但由於3分鐘超時,我期望必須在該文件上進行多次傳遞,我認爲這樣可以很好地消除在我處理文件時,我不需要花費週期跳過已經在前一遍中處理過的行。
請張貼一些代碼。否則,協助您優化代碼是不可能的。 –
CSV文件的大小? –
難道你不能保存你已經解析的行數嗎? – Moby04