現在、私のサーバーがファイルをダウンロードし、ユーザーがほぼ同じことを行うことができるPHPアプリケーションを開発しようとしています。私はすでに「ユーザーがサーバーよりも速くダウンロードすると...」という問題については考えていますが、現時点では問題にはなりません。 これを行うには、私はPHPのヘッダー関数とreadfile関数を使用しました。ここに私のコードです:PHPヘッダーとダウンロード
header('Content-Type: application/octet-stream');
header('Content-Disposition: attachment; filename="'.$data['name'].'";');
header('Content-Transfer-Encoding: binary');
header('Content-Length: '.$data['size']);
readfile($remoteFile);
私は、ユーザーがリンクをクリックしたときにダウンロードされたファイルやないサイズの適切なサイズを設定するには、Content-Lengthヘッダを使用するようにしなければなりません。ただし、数秒または数分後にダウンロードが停止し、再起動が必要になります。 解決策について考えるなら、たとえそれがheader()を使用しなかったとしても、機能、教えてください。私はこれが直接あなたがセーフモードで実行した場合あなたに施行された最大ランタイム設定に関連していることを経験している
ファイルサイズは何を使用してその愚かやすいですか?ローカルホストか実サーバマシンですか? –
あなたのスクリプトは、おそらくサーバー上でタイムアウトしている(またはホスティング会社ごとに蹴られている)のかもしれません。 – nickb
私は大きなファイル(> 500 Mb)を持つことができます。それは実際の専用サーバー上にあります。私はphp.iniでmax_php_execution_timeを0に設定しようとしていますが、それでもうまくいきません... –