我有一个表单,我正在尝试验证用户是否填写了所有字段:
if(in_array('',$f) || empty($_FILES['thumb']['tmp_name']))
{
echo '<span>Please fill all fields!</span>';
}
一切都运转正常,当我没有填写一个字段时,我收到了警告信息。
但是现在我在表单上引入一个新的“输入文件”,插入PDF,我也在验证中输入了这个字段:
if(in_array('',$f) || empty($_FILES['thumb']['tmp_name']) || empty($_FILES['pdf']['tmp_name'])
)
现在,拇指和其他表单字段工作正常,当我不填写时,我收到警告消息,但是我的pdf字段,当我不填写此字段时,我从未收到提醒信息。
我在这里有表格:
<form name="form" action="" method="post" enctype="multipart/form-data">
<label class="line">
<span>Image:</span>
<input type="file" class="fileinput" name="thumb"/>
</label>
<label class="line">
<span>Title:</span>
<input type="text" name="title" value="" />
</label>
<label class="line">
<span>Pdfs<input type="file" name="pdf[]" size="60" multiple="multiple" accept="application/pdf"/></span>
</label>
<input type="submit" value="Submit" name="sendForm" />
</form>
答案 0 :(得分:1)
您传递的数组“pdf []”与“thumb”相比。你可以检查这个数组[0]的第一个元素:
if(in_array('',$f) || empty($_FILES['thumb']['tmp_name']) || empty($_FILES['pdf'][0]['tmp_name']))
包含'tmp_name'的数组元素($_FILES['pdf'][0]
,$_FILES['pdf'][1]
等)。
我的错误,数组是另一种方式$_FILES['pdf']['tmp_name'][0]
。