单个表单时
代码如下
<formaction="?" method="post" enctype='multipart/form-data'>文件上传:<input type="file" name="file" id="file"/>
<input type="submit" id="send" value="提交" />
</form>
<?php
//判断pic文件框是否已经选择文件
if(!empty($_FILES['file']['tmp_name'])) {
echo '已选择文件';
}else {
echo'请选择文件';
}
//PS:$_FILES后面的['tmp_name']一定不要忘写,它表示是一个临时的意思
?>
当然这个可以先用JS去判断一下,方法如下:
代码如下
<script>
varsend=document.getElementById("send");
send.onclick=function() {
varfile=document.getElementById("file").value;
if (file.length<1){
alert('请选择图片');
returnfalse;
}
}
</script>
多文件上传时<input type="file" name="uploadfile" contentEditable="false" style="width:80%">
表单中有多个,
提交表单时需要判断其中至少要有一个input已经选择好文件。
代码如下
<inputtype="file" name="uploadfile" contentEditable="false"style="width:80%"><br>
<input type="file" name="uploadfile"contentEditable="false" style="width:80%"><br>
<input type="file" name="uploadfile"contentEditable="false" style="width:80%"><br>
<input type="file" name="uploadfile"contentEditable="false" style="width:80%"><br>
<input type="file" name="uploadfile"contentEditable="false" style="width:80%">
使用jQuery进行判断:
代码如下
varfileFlag = false;
$("input[name='uploadfile']").each(function(){
if($(this).val()!="") {
fileflag = true;
return false;
}
});
if(fileFlag) {
alert("已有选择好文件的");
}
只要fileFlag为true,就可以退出each循环,不需要再对剩下的input进行判断。
在each中使用return false退出循环,使用return true结束当前次循环,进行下一次循环。