繁体   English   中英

php html文件上传表单验证错误

[英]php html file upload form validation error

我在表单验证方面遇到问题。 当我不选择要上传的文件时,仍然出现错误,提示仅有效的png图像。 我以为如果没有选择文件,则$ _FILES数组将为空。

我究竟做错了什么?

我用于文件上传的html形式摘录如下:

<label for="file">Filename
<span class="small">Upload image</span>
</label>
<input type="file" name="file" id="file">

我的PHP处理看起来像这样:

 $submitted_file = $_FILES['file'];

 if(isset($submitted_file)) {

    // verify the file PNG only
    $fileType = exif_imagetype($submitted_file["tmp_name"]);
    $allowed = array(IMAGETYPE_PNG);
    $max_filesize = 512000;

    if (!in_array($fileType, $allowed)) {
    $proceed = false;
    $arrErrors['submitted_file_ext'] = 'Please upload .png images only.';
    }
}

如果要检查的数组为空,则其字段[“ tmp_name”]应为null。 请尝试以下代码:

if(!empty($submitted_file["tmp_name"])) {

正确的方法是检查$_FILES['error']

if ($_FILES['name']['error'] === UPLOAD_ERR_OK) {
    // file successfully uploaded
}

此处的更多信息http://ru2.php.net/manual/zh/features.file-upload.php

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM