1

より大きなファイルをアップロードしようとしているので、これをphpコードで設定します

    ini_set('upload_max_filesize', '1000M');
ini_set('post_max_size', '1100M');
ini_set('memory_limit', '1200M');

ただし、$_POSTと$_FILESは空です。しかし、php.iniの設定を変更すると、機能します。なぜその場で設定を変更しないのですか?

4

3 に答える 3

2

これらを見てください:

http://www.php.net/manual/en/ini.list.php

http://www.php.net/manual/en/configuration.changes.modes.php

読んだ後、変更できる唯一のオプションini_setmemory_limit. 他の 2 つは、php.ini ファイル、httpd.conf、.htaccess、またはディレクトリごとの .user.ini ファイルで構成可能です。

つまり、これらの値を変更する場合は、サーバーの構成にアクセスできる必要があります。スクリプト内からそれを行う余裕はありません。

于 2012-07-22T19:00:07.640 に答える
2

PHP の起動後にこれらの設定を変更するのは遅すぎます。

  • upload_max_filesize- アップロードは、PHP スクリプトが実行され、ini_set() が実行される前に行われます
  • post_max_size- 同じく

また、変更できたとしてもmemory_limit(サーバーの構成によって異なります)、そのような大きなアップロードが予想される場合は、再び遅すぎます。

詳細についてはini_set()http://www.php.net/manual/en/ini.list.phpを参照してください。

于 2012-07-22T19:03:33.303 に答える
1

最初の 2 つの設定はスクリプトごとに変更することはできませんが、スクリプトを実行する前にファイル/POST データを処理する必要があるため、変更しても効果はありません。効果を発揮するチャンス。

于 2012-07-22T19:03:48.877 に答える