【问题标题】:PHP upload file limitPHP上传文件限制
【发布时间】:2012-05-16 12:08:24
【问题描述】:

我正在将个人资料图片上传到服务器上的目录。该脚本工作正常,但我似乎什么也得不到,只能上传小文件大小的图像。超过 2mb 的任何东西都失败了。我无权访问 php.ini,但我在 htaccess 中添加了以下内容,但没有运气。我已经尝试了所有其他我可以在网上找到的解决方案,但没有运气。有什么想法吗?

php_value upload_max_filesize 10M
php_value post_max_size 10M
php_value max_input_time 400
php_value max_execution_time 400

【问题讨论】:

  • 您在更改 php.ini 文件后是否重新启动了网络服务器?
  • 他无权访问 php.ini 文件
  • 我在共享服务器上,无权访问 php.ini。我的印象是我可以用 .htaccess 做同样的事情?但是,这是行不通的。
  • 啊,ini_set() 对你有用吗?另外,请查看此处的步骤 #2 和步骤 #3 php.net/manual/en/features.file-upload.php#107406
  • @ChiragShah upload_max_filesize 是 PER_DIR,而不是 INI_ALL

标签: php upload


【解决方案1】:

首先,检查phpinfo() 看看运行时设置是什么;如果它们仍然显示2M(默认),则 Apache 可能不遵守 .htaccess 文件

通常我会告诉您确保在 Apache 配置的虚拟主机声明中包含此内容:

AllowOverride Options FileInfo

但在共享主机上并不会授予您这些权限(极不可能)。您应该咨询您的托管服务提供商,看看他们是否可以通过在您的虚拟主机中添加 php_value 设置来提高这些限制

或者,按照@Satya 的建议,通过分块上传文件(例如,一次上传 1MB)来解决此问题。

【讨论】:

  • 它说在 phpinfo() upload_max_filesize 20M ... 所以我不确定发生了什么??
  • 您还应该查看 max_post_size ...应该 > 20M
  • 正确 - 最大帖子为 20M。但我还是不能上传超过 2M
  • 如果上传失败,也可以查看var_dump($_FILES);
【解决方案2】:

如果您不能对 php.ini 进行更改,那么恐怕您将不得不尝试任何基于 jquery 的上传器,例如值或 blueimp

【讨论】:

  • 因为他试图上传超过 2M 的内容,而 php 否认了这一点,这可以使用这些上传器来克服
  • 但他覆盖了.htaccess中的php_value
  • 所以如果没有访问 php.ini,我就无法通过 PHP 做任何事情吗?我将研究 jQuery 解决方案
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2022-01-05
  • 1970-01-01
  • 1970-01-01
  • 2011-11-11
  • 2021-08-30
  • 2013-04-13
  • 2011-10-15
相关资源
最近更新 更多