2011-08-04 44 views
-1

當我用$ offset的file_get_contents!= -1返回false 我想從URL獲得的文件非常大。 是否可以使用非本地文件的偏移參數?使用file_get_contents下載大文件時出錯

,我使用它的代碼:

$content = file_get_contents($encodedurl,false,NULL,$offset,$blocksize); 
+2

什麼意思是「非常大」? 19KB? 32MB? 18GB? – genesis

+0

大於1GB – ir01

回答

1

PHP documentation說:

求(偏移)不與遠程文件的支持。嘗試尋找非本地文件 可能使用小偏移,但這是不可預知的,因爲它 工作在緩衝流。

如果你的文件是非常大的,那麼我認爲你最好的選擇將是寫自己的函數,它模擬了一個HTTP GET請求的資源。然後,您可以在緩衝的基礎上讀取文件,這樣您就可以將文件的大塊(例如16MB)存儲到磁盤上,並且一旦完全下載,您就可以將其重新組合到一個文件中。或者根據需要將其處理爲塊。

相關問題