上传图片大小问题

时间:2011-08-29 00:29:46

标签: php

我建立了一个网站,允许人们使用php上传他们的照片,但如果图片尺寸太大,照片无法成功上传,我该如何避免这个问题,如何让人们上传图片没有大小限制,如果可能的话,你能告诉我一些与之相关的PHP代码,谢谢!

1 个答案:

答案 0 :(得分:4)

这可以通过.htaccess实现。您需要在文件中添加以下行:

<IfModule mod_php5.c>
    php_value upload_max_filesize 20M
</IfModule> 

虽然最好增加脚本执行时间(因此不会超时等待上传)和最大POST大小,因此:

<IfModule mod_php5.c>
    php_value upload_max_filesize 20M
    php_value post_max_size 20M
    php_value max_execution_time 120
</IfModule> 

这会将最长执行时间设置为两分钟,这是一段很长的时间,但这只是一个例子。


PHP解决方案(不起作用 - 见评论)

首先,打开错误检查;通过将其放在脚本的顶部,这将让您知道发生了什么和哪里

error_reporting(E_ALL);
ini_set('display_errors', '1');

您需要更改upload_max_filesize中的post_max_sizephp.ini声明(假设您使用的是Apache)。

找到与此类似的行:

upload_max_filesize = 2M
post_max_size = 8M

并将其更改为:

upload_max_filesize = 20M
post_max_size = 20M

这将上传限制设置为20MB(相当大,我必须说)。如果您使用共享托管,则他们不太可能允许您编辑php.ini。在这种情况下,您可以使用ini_set()之类的:

string ini_set('upload_max_filesize', '20M');
string ini_set('post_max_size', '20M');

这会将上传限制设置为20MB,或者您想要设置的任何内容。

(感谢评论中的@Phil)请注意upload_max_filesize必须小于或等于 post_max_size