0

和平与你们同在,我有一个问题是每当我尝试使用该功能时

move_upload_files()
我发现它可以完美地处理小于 2MB 的图像,并且我已经修改了我的 php.ini 并使用了ini_set('upload_max_filesize', '10M');,每次我重新启动 wamp 服务时它仍然是一样的,只上传小于 2MB 的文件!有什么建议么?

4

2 回答 2

2

move_uploaded_files()不关心上传的文件有多大(或小)。它只是移动它们。很可能您有一个系统设置的上传限制,导致上传被中止。由于您在这里提出这个问题,这意味着您在上传脚本中绝对没有错误处理,并且简单地假设所有上传都将始终成功。

a) 您需要增加上传限制。这必须在 php.ini 级别(或 httpd.conf/.htaccess)完成。此处列出了各种设置:http ://www.php.net/manual/en/features.file-upload.post-method.php

b)您需要添加错误处理,以便在上传失败时捕获。就像是

if ($_FILES['uploadedfile']['error'] !== UPLOAD_ERR_OK) {
   die("Upload failed with error code #" . $_FILES['uploadedfile']['error']);
}

是绝对最低限度。此处详细介绍了可用的错误代码:http ://www.php.net/manual/en/features.file-upload.errors.php

于 2013-09-19T19:30:06.800 回答
1

您可以尝试更改一些其他设置。使用以下代码检查设置:

echo ini_get('post_max_size');
echo ini_get('upload_max_filesize');

如果低于10M,可以通过

ini_set('upload_max_filesize', '10M');

或通过 htaccess(如果您的服务器允许)

php_value upload_max_filesize 10M
php_value post_max_size 10M
php_value max_execution_time 200
php_value max_input_time 200

为了完整起见,您可以将 php.ini 设置编辑为

upload_max_filesize = 10M
post_max_size = 10M

要检查的另一件事是您的表单代码是否具有正确的属性

method="POST" enctype="multipart/form-data"

https://stackoverflow.com/a/12685461/2701758

于 2013-09-19T19:28:44.550 回答