2014-10-21 4 views
1

У меня есть input type ="file" в form, который загружает изображения (несколько изображений) и другие входы (из текстовых полей).Проверьте, что файл-вход [] пуст

Мне нужно, чтобы, если пользователь не выбрал никаких изображений, я не хочу превзойти загружаемое изображение. Это потому, что если я использую сайт с 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 

Я tryied с

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

и !empty($_POST['file-input'] , но в этих случаях загрузка не работают anymo re на ПК.

Итак, как я могу проверить, пуст ли входной файл?

ответ

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 .. 
     } 
    } 
    } 
} 
+0

доверие мне, я Rapidshare хостинг – waza123

+0

Я если '(Исеть ($ _ POST [' Invia ']) && $ _POST [' Invia '] == "Введите Ваше" &&! Пусто ($ _ FILES [ 'file_input'] ['name']) ', и теперь это работает. Я не использовал, чтобы использовать $ _FILE для элемента управления. Вы код, который предложил мне сделать это: D так спасибо, теперь работает! – JEricaM