MAX_FILE_SIZE
の値に、php.ini の upload_max_filesize
で指定されたファイルサイズより大きなファイルサイズを指定する
ことはできません。デフォルトは、2 メガバイトです。
メモリ制限が有効な場合、memory_limit の値をより大きく 設定することが必要となる可能性があります。 memory_limit に充分大きな 値を設定するようにしてください。
max_execution_time
に設定した値が小さすぎた場合、スクリプトの実行時間がこの値を越える
可能性を生じます。
max_execution_time
に充分大きな値を設定するように
してください。
注意: max_execution_time はスクリプト自身の実行時間にのみ影響します。 スクリプトの実行範囲の外側で発生する動作にかかる時間、つまり、 system() を使ったシステムコールや、 sleep() 関数、データベースに対するクエリー、 ファイルアップロードプロセス、などに費やされた時間はスクリプトの 総実行時間に含まれません。
max_input_time
は、スクリプトで入力を受け付けることができる最大秒数を設定します。
この秒数には、ファイルアップロードの時間も含まれます。
大きなファイルや複数のファイルをアップロードしたり接続に時間を要したりする場合は、
デフォルト値の 60 seconds
を増やしましょう。
post_max_size の設定値が
小さすぎた場合、大きなファイルをアップロードすることができなくなります。
post_max_size
に充分大きな値を設定するように
してください。
max_file_uploads
は一回のリクエストあたりでアップロードできるファイルの数の制限値となります。
この制限を超える数のファイルをアップロードしようとすると、制限に達した時点で
$_FILES は処理を停止します。たとえば
max_file_uploads が
10
の場合には、$_FILES
には 10 件までの要素しか入らないということです。
処理するファイルを検証しない場合、ユーザーが他のディレクトリにある 非公開情報にアクセスできる可能性を生じます。
CERN httpd は、クライアントから得た content-type MIME ヘッダにおいて最初が空白文字で始まるものを切り捨てるようですので注意してください。 このような動作をする限り、CERN httpdは、 ファイルアップロード機能をサポートしないでしょう。
大量のディレクトリ一覧のスタイルのせいで、 風変わりな名前(空白を含んでいるとか)のファイルを適切に扱えることは 保証できません。
通常の input
フィールドとファイルアップロードフィールドを
(input
の name に foo[]
を利用するなどして)
同一のフォーム変数で扱うことはできません。