如何在数据库中上传数据之前检查数组输入类型文件是否为空。如果有一个空的显示用户理解的任何内容并且没有更新数据。
这是示例代码html
<h3>Extra profile information</h3>
<table class="form-table">
<tr>
<th><label for="Upload">Upload</label></th>
<td>
<form action="" method="post">
<input name="profile_photo[]" type="file" value="" />
<input name="profile_photo[]" type="file" value="" />
<input name="profile_photo[]" type="file" value="" />
<br/>
</form>
</td>
</table>
我曾经使用$ x = $ _ GET ['profile_photo'];和echo $ x;在上传到数据库之前,它返回空或null。
答案 0 :(得分:2)
if (!empty($_FILES) && is_array($_FILES)) {
// you have files
}
答案 1 :(得分:2)
$x=$_FILES['profile_photo']['name'];
使用此代码
答案 2 :(得分:0)
只需在帖子数据上运行for循环并验证
$error = "";
$emptyFiles="";
$i=0;
foreach ($_FILES['profile_photo'] as $name) {
if (isset($name['name']) && $name['name']!="") {
$error.="";
} else {
$error.= "yes";
$emptyFiles.=$_FILES['profile_photo'][$i];
}
$i++;
}
然后使用
$ error和$ emptyFiles字符串,以获取哪些是空字段,哪些不是。
答案 3 :(得分:0)
您还可以在提交前通过javascript验证输入
HTML:
<form action="" method="post" onsubmit="return validateInputs();">
<input name="profile_photo[]" type="file" value="" />
<input name="profile_photo[]" type="file" value="" />
<input name="profile_photo[]" type="file" value="" />
<input type="submit" />
</form>
的javascript:
validateInputs = function() {
inputs = document.getElementsByName('profile_photo[]');
for (var ind in inputs){
if (inputs[ind].value=="") {
alert("validation failed");
return false;
}
}
}
答案 4 :(得分:0)
var file = $(".profile_photo").map(function(){return $(this).val();}).get();
for(var i=0; i<file.length; i++){
if( file[i] == ""){
alert("Please select file");
return false;
}
}
PHP中的
if( $_FILES['profile_photo']['error'] != 0 ){
// code to handle if there is no file selected
}