如何在php中动态更改最大上传文件限制?

Nit*_*itz 1 php file-upload

我想动态更改最大上传文件限制。表示不更改服务器上的php.ini文件。
只要用户上传的内容超过2 mb,我的上传限制就应该更改。
我想通过php完成所有这些操作。

提前致谢。

Sar*_*raz 6

尝试这个:

ini_set('upload_max_filesize', your_value_here);
Run Code Online (Sandbox Code Playgroud)

还要确保您已指定正确的可接受设置:

  • file_uploads
  • upload_max_filesize
  • max_input_time
  • memory_limit
  • max_execution_time
  • post_max_size


All*_*nJB 5

由upload_max_filesize强制执行的限制是在运行php脚本之前强制执行的,因此不能使用ini_set动态更改设置。

有关文件上传INI设置,在那里他们可以改变的更多信息,请参见: - http://php.net/manual/en/ini.core.php#ini.sect.file-uploads - HTTP:// PHP .net / manual / en / configuration.changes.modes.php

假设“用户”是您网站的访问者,实际上只有两种方法可以强制这种限制,而文件不会到达其最终目的地:

1)在发生上传之前:在客户端。您绝对可以使用基于Java的上传器来执行此操作。我不知道是否可以使用javascript获取所选文件的文件大小。

2)将文件上传到服务器之后,但是在将其移动到最终目标之前(运行move_uploaded_file之前)