[英]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.