检查file-input []是否为空

时间:2014-10-21 13:15:39

标签: php image input

我在input type ="file"中有form上传图片(多张图片)和其他输入(来自textareas)。

我需要,如果用户没有选择任何图像,我不想要优先上传图像。 这是因为如果我使用Ipad中的网站,脚本会给我错误,因为他在file-input[]中没有找到任何内容,如果我不想上传图片的话。 所以我想检查file-input[]是否empty or not,所以Ipad的问题将会解决(我希望)。

这是html

<div id="file-ins-immagini">
    <div class="et-form-ins">Immagini allegate</div>
    <input type="file" name="file-input[]" id="file-input" value="" class="file" multiple>  
</div>

这是php中插入的代码('invia'是我表单提交按钮的名称)

if (isset($_POST['invia']) && $_POST['invia'] == "Inserisci")  
{ 
    $messaggiocaso = "";
    $infoimages = array_combine($_FILES["file-input"]['name'], $_FILES["file-input"]['tmp_name']);  // recuperiamo e uniamo le informazionei sulle immagini 

    foreach ($infoimages as $k => $v)
    { 
        $nomefile = strtolower($k); 
        if(!empty($nomefile))
        {
            if (filesize($v) < $peso_file) 
            { 
                $estensionefile = pathinfo($nomefile, PATHINFO_EXTENSION);  
                if (in_array(strtolower($estensionefile), $estensioni)) 
                {   
                    if (is_uploaded_file($v)) 
                    {      
                        if(!file_exists("$uploadDIR/$next_id"))  
                        {
                            mkdir("$uploadDIR/$next_id",0777,true); 
                        }

                        if (!move_uploaded_file($v, "$uploadDIR/$next_id/$nomefile")) 
                        { 
                            $messaggiocaso = urlencode("Impossibile l'inserimento del caso. Impossibile spostare il file $k");
                            header("location:tabella.php".'?msgcasoerrato='.$messaggiocaso);
                            exit;
                        } 
                        else 
                         //the rest of the code

我试过

if (isset($_POST['invia']) && $_POST['invia'] == "Inserisci" && !empty($_POST['file-input[]']))

!empty($_POST['file-input'] 但在这些情况下,上传功能不再适用于PC。

那么如何检查文件输入是否为空?

1 个答案:

答案 0 :(得分:2)

if ($_FILES['file_input']){
  foreach($_FILES['file_input']['name'] as $k=>$v){
    if(!empty($_FILES['file_input']['name'][$k])){
       if($_FILES['file_input']['size'][$k]>0){
         // all ok, can be moved ..
       }
    }
  }
}