我建立了一个网站,允许人们使用php上传他们的照片,但如果图片尺寸太大,照片无法成功上传,我该如何避免这个问题,如何让人们上传图片没有大小限制,如果可能的话,你能告诉我一些与之相关的PHP代码,谢谢!
答案 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>
这会将最长执行时间设置为两分钟,这是一段很长的时间,但这只是一个例子。
首先,打开错误检查;通过将其放在脚本的顶部,这将让您知道发生了什么和哪里:
error_reporting(E_ALL);
ini_set('display_errors', '1');
您需要更改upload_max_filesize
中的post_max_size
和php.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
。