2

私は、PHP アプリケーションを構築する初期段階にいます。その一部にはfile_get_contents()、リモート サーバーから大きなファイルを取得してユーザーに転送するために使用することが含まれます。たとえば、フェッチされているターゲット ファイルが 200 mB であるとします。

  • サーバーへのダウンロードに時間がかかりすぎると、このプロセスはタイムアウトしますか?
  • もしそうなら、このタイムアウトを延長する方法はありますか?
  • ダウンロード中のこのファイルを同時にユーザーに転送することはできますか?それとも、ファイルをサーバーに保存し、ダウンロードの完了後にユーザーが手動で取得する必要がありますか?

やりすぎる前に、選択肢や制限があることを確認しようとしているだけです。

お時間をいただきありがとうございます。

4

2 に答える 2

2

set_time_limit(0)はい、およびmax_execution_timeディレクティブを使用して、PHP によって課された時間制限をキャンセルできます。

ファイルのストリームを開き、ユーザーにシームレスに転送できます。
について読むfopen()

于 2012-04-27T20:15:34.977 に答える
2

タイムアウトでない場合、PHP の構成によってはメモリの問題が発生する可能性があります。これらの設定の多くは、コードを使用して手動で簡単に調整できます。

http://php.net/manual/en/function.ini-set.php

ini_set('memory_limit', '256M');
于 2012-04-27T20:15:52.643 に答える