我有一个上传文件的PHP表单,并且所有文件都运行良好,限制大小设置为7340032字节(7Mbs)并且它工作正常,但是当我尝试上传大于500kbs的图像时,我回显了值第一个if:
if(isset($_POST['upload']) && $_FILES['userfile']['size'] > 0){
它说每次图像大小为0,为什么会发生这种情况? post_max_size的php.ini值为15M,upload_max_filesize的值为10M。
答案 0 :(得分:1)
检查上传文件的大小是否为非零不是检查上传是否成功的正确方法。那里有['error']
参数。不完整的上传仍然具有非零大小,但不应处理。更好的检查方法是:
if ($_SERVER['REQUEST_METHOD'] == 'POST') {
if ($_FILES['userfile']['error'] !== UPLOAD_ERR_OK) {
die("File upload error: {$_FILES['userfile']['error']}");
}
... process file here ...
}
错误代码常量为defined here。