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

时间:2010-05-05 12:44:39

标签: php file-upload

我想动态更改最大上传文件限制。意思是不改变服务器上的php.ini文件 每当用户上传超过2 mb时,我的上传限制应该更改。
我想通过php完成所有这些。

提前致谢。

3 个答案:

答案 0 :(得分:5)

在运行php脚本之前强制执行upload_max_filesize强制执行的限制,因此无法使用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之前)

答案 1 :(得分:3)

试试这个:

ini_set('upload_max_filesize', your_value_here);

还要确保您为:

指定了正确的可接受设置
  • file_uploads
  • upload_max_filesize
  • max_input_time
  • memory_limit
  • max_execution_time
  • post_max_size

答案 2 :(得分:1)

如果您无法修改php.ini,则可以使用.htaccess文件进行修改:

php_value upload_max_filesize 50M
php_value post_max_size 50M