リモートサーバー(500 MB)でホストされている大きなファイルがあります。このファイルには、AMF3を使用して埋め込まれた識別可能なバイトのチャンクが含まれています。これらのチャンクは、事前に設定した事前定義された文字列プレフィックスによって識別できます。この場合、作成中のさまざまな時点で、文字列'prefix'をファイルに追加しています。
PHPを使用してファイルの全長をトラバースし、サーバー上でファイルをローカルにコピーせずにこれらの文字列プレフィックスの正確な位置を見つけたいのですが、問題があります。現在、次のようにリモートサーバー上のファイルを指すHTTPURLを持つ単純なfile_get_contentsを使用しています。
$file = file_get_contents('http://remote.server.com/file.xxx')
while($offset = strpos($file, 'prefix', $offset + 1)){
//find prefix string value here using regex
// store the position of the value somewhere
}
残念ながら、非常に大きなサイズのファイルではうまく機能せず、500内部サーバーエラーが発生します。 最初にファイルをローカルにコピーせずに、リモートでホストされているファイル全体のバイトをトラバースするためのより良い方法はありますか?