为什么php会向我提供文件上传错误?
<?php
if($_FILES["filename"]["size"] > 1024*25*1024)
{
$message = 'file must be less, than 25 mb';
exit;
}
if(is_uploaded_file($_FILES["filename"]["tmp_name"]))
{
move_uploaded_file($_FILES["filename"]["tmp_name"], "share/".$_FILES["filename"]["name"]);
$message = 'succesfull!';
} else {
$message = 'Error upload file';
}
?>
使用enctype ='multipart / form-data'的表单
在php.ini中我有
upload_max_file_size:25 mb Max_post_data = 25mb upload_tmp_dir = / tmp
为什么它不起作用?
答案 0 :(得分:3)
如果您在$ _FILES上执行print_r,您将看到错误代码。错误代码的含义可以在这里找到:
http://www.php.net/manual/en/features.file-upload.errors.php
答案 1 :(得分:0)
如果您的内容长度大于最大帖子大小,则应使用异常处理程序,或者您应将此代码放在顶部代码中。
if ($_SERVER['REQUEST_METHOD']=='POST' && empty($_POST) && isset($_SERVER['CONTENT_TYPE']) && substr($_SERVER['CONTENT_TYPE'],0,19)=='multipart/form-data')
{
if ($_SERVER['CONTENT_LENGTH']>1024*1024*25)
{
$message = 'file must be less, than 25 mb';
exit;
}
}
答案 2 :(得分:0)
验证您的php.ini设置如下所示:
upload_max_file_size=25M
常见错误包括:
upload_max_file_size = 0.25M // Must be an integer
upload_max_file_size = 25M // No spaces around equal sign
upload_max_file_size=25MB // Use M not MB
;upload_max_file_size=25M // Semicolon in front comments out the line.
更改php.ini后重新启动服务器。
参考:http://php.net/manual/en/faq.using.php#faq.using.shorthandbytes