【发布时间】:2011-02-15 22:12:22
【问题描述】:
我想动态更改最大上传文件限制。意味着不更改服务器上的 php.ini 文件。
每当用户上传超过 2 mb 时,我的上传限制就应该改变。
我想通过 php 来完成这一切。
提前致谢。
【问题讨论】:
标签: php file-upload
我想动态更改最大上传文件限制。意味着不更改服务器上的 php.ini 文件。
每当用户上传超过 2 mb 时,我的上传限制就应该改变。
我想通过 php 来完成这一切。
提前致谢。
【问题讨论】:
标签: php file-upload
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 之前)
【讨论】:
试试这个:
ini_set('upload_max_filesize', your_value_here);
还要确保您已为以下各项指定了正确的可接受设置:
file_uploadsupload_max_filesizemax_input_timememory_limitmax_execution_timepost_max_size【讨论】:
如果您无法修改 php.ini,您可以使用 .htaccess 文件进行修改:
php_value upload_max_filesize 50M
php_value post_max_size 50M
【讨论】: