セッション制御スクリプトを使用して、ユーザーがサイトの Web 読み取り可能領域外にあるサーバーからファイルを取得できるようにしています。最近の問題は、ファイルが終わらないことです。ブラウザにはすべて完了したと表示されますが、ファイルは完全ではありません。私は共有ホスト (Arvixe) を使用していますが、これは新しい問題です。彼らは、php のタイムアウト制限を 1 時間に延長したと言われていますが、それは役に立ちませんでした。
作業を行うコードは次のとおりです。
header("Content-length: $filesize");
header("Cache-control: private"); //use this to open files directly
while( !feof ( $filetoget ) ) {
$buff = fread ( $filetoget, 1024 );
ob_clean();
flush();
echo $buff;
}
fclose ($filetoget);
ここの同様のスレッドから、次の2行を追加しましたが、それもまったく役に立たなかったようです:
ob_clean();
flush();