2010-05-05 30 views
1

我想动态更改最大上传文件限制。意味着不要更改服务器上的php.ini文件。
无论何时用户已经上传了2MB以上,那么我的上传限制应该被改变。
我想通过php来做所有这些事情。
如何动态更改php中的最大上传文件限制?

在此先感谢。

回答

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

限强制运行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

如果您不能修改php.ini中,你也许能够用.htaccess文件做:

php_value upload_max_filesize 50M 
php_value post_max_size 50M 
相关问题