より大きなファイルをアップロードしようとしているので、これをphpコードで設定します
ini_set('upload_max_filesize', '1000M');
ini_set('post_max_size', '1100M');
ini_set('memory_limit', '1200M');
ただし、$_POSTと$_FILESは空です。しかし、php.iniの設定を変更すると、機能します。なぜその場で設定を変更しないのですか?
より大きなファイルをアップロードしようとしているので、これをphpコードで設定します
ini_set('upload_max_filesize', '1000M');
ini_set('post_max_size', '1100M');
ini_set('memory_limit', '1200M');
ただし、$_POSTと$_FILESは空です。しかし、php.iniの設定を変更すると、機能します。なぜその場で設定を変更しないのですか?
これらを見てください:
http://www.php.net/manual/en/ini.list.php
http://www.php.net/manual/en/configuration.changes.modes.php
読んだ後、変更できる唯一のオプションini_set
はmemory_limit
. 他の 2 つは、php.ini ファイル、httpd.conf、.htaccess、またはディレクトリごとの .user.ini ファイルで構成可能です。
つまり、これらの値を変更する場合は、サーバーの構成にアクセスできる必要があります。スクリプト内からそれを行う余裕はありません。
PHP の起動後にこれらの設定を変更するのは遅すぎます。
upload_max_filesize
- アップロードは、PHP スクリプトが実行され、ini_set() が実行される前に行われますpost_max_size
- 同じくまた、変更できたとしてもmemory_limit
(サーバーの構成によって異なります)、そのような大きなアップロードが予想される場合は、再び遅すぎます。
詳細についてはini_set()
、http://www.php.net/manual/en/ini.list.phpを参照してください。
最初の 2 つの設定はスクリプトごとに変更することはできませんが、スクリプトを実行する前にファイル/POST データを処理する必要があるため、変更しても効果はありません。効果を発揮するチャンス。