和平在你身边,我有一个问题,就是每当我尝试使用这个功能时
move_upload_files()
我发现它与小于2MB的图像完美配合,我修改了我的php.ini并使用了ini_set('upload_max_filesize', '10M');
,每次重新启动wamp服务时它仍然是相同的,只上传文件少于2MB!有什么建议吗?
答案 0 :(得分: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
答案 1 :(得分: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"