如何检查输入数组字段类型文件是否为空

时间:2013-05-08 09:01:37

标签: php javascript html

如何在数据库中上传数据之前检查数组输入类型文件是否为空。如果有一个空的显示用户理解的任何内容并且没有更新数据。

这是示例代码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。

5 个答案:

答案 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)

在javascript / jquery中

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
}