2011-08-04 10 views
-1

$ offset!= -1でfile_get_contentsを使用すると、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のようにディスクに保存することができます。ダウンロードが完了すると、ファイルを1つのファイルに再結合することができます。または、必要に応じてチャンクとして処理します。

関連する問題