私のサイトのホストで、私は(phpinfo経由で)それを見てきました
これにより、最大16MBのファイルとしてアップロードできるはずだと考えるようになりました。ただし、postメソッドを使用してこれを行うと(通常)、post_max_sizeが処理を引き継ぎ、送信が多すぎることを宣言します。
16MBのファイルを送信できる方法は何ですか? GET-PUT-その他?
誰かが私のためにこれを明確にできることを願っています。
サイモン
upload_max_filesize
は、任意の単一ファイルの制限です。 post_max_size
は、リクエストの本文全体の制限であり、複数のファイルを含めることができます。
post_max_size = 20M
とupload_max_filesize = 6M
を指定すると、それぞれ6Mのファイルを最大3つアップロードできます。代わりにpost_max_size = 6M
とupload_max_filesize = 20M
の場合、post_max_sizeを押す前に1つの6Mファイルしかアップロードできません。 upload_max_size
> post_max_size
を使用しても役に立ちません。
post_max_size
を超えることを認識する方法は明らかではありません。 $_POST
および$_FILES
は空ですが、$_SERVER['CONTENT_LENGTH']
は> 0になります。クライアントが投稿変数または投稿ファイルをアップロードしなかった場合、$_SERVER['CONTENT_LENGTH']
は0になります。
POSTファイルのアップロードが行われます(通常、他のメソッドもあります)。ファイルアップロードフィールドを含むフォームのメソッド属性を調べます;)
関連する設定の最低制限は、より高い設定に優先します。
ファイルアップロードの処理:一般的なPitfals を参照してください。これにより、詳細と値の計算方法が説明されます。
ファイルのアップロードを送信する通常の方法はPOSTであるため、post_max_size
も16 Mb以上にする必要があります。
ちなみに、memory_limit
も役割を果たします。 16Mbより大きくする必要がありますが、デフォルト値は128Mbなので、この問題は発生しません。 php.ini
設定の例:
post_max_size = 16M
upload_max_filesize = 16M
memory_limit = 128M
アクセスできる場合はphp.ini
のこれらの値を変更します。そうでない場合は、.htaccess
ファイルで変更を試みることができます。
php_value upload_max_filesize 16M
php_value post_max_size 16M
これは、AllowOverride
設定で許可されている場合にのみ機能します。それ以外の場合は、ホスティング会社に依頼する必要があります。
サーバー構成設定では、ユーザーは最大16MBのファイルをアップロードできます( pload_max_filesize = 16Mbに設定しているため)。ただし、 post_max_size は最大8MBの投稿データのみを受け入れます。これがエラーをスローする理由です。
official PHP site から引用:
大きなファイルをアップロードするには、post_max_sizeの値がupload_max_filesizeより大きくなければなりません。
memory_limitはpost_max_sizeより大きくする必要があります
Post_max_sizeの値は、常にupload_max_filesizeの値よりも大きく設定する必要があります。
デフォルトでは、post_max_sizeはupload_max_filesizeの4倍でなければなりません。
順番に、memory_limitはpost_max_sizeの16倍にする必要があります
php.iniの変更max_input_vars 1000