2015-11-29 11 views
5

Diciamo che ho una forma come questa:PHP più file di controllo di caricamento file vuoto

<form action="upload.php" method="post" enctype="multipart/form-data"> 
File 1 : <input type="file" name="file[]" /> 
File 2 : <input type="file" name="file[]" /> 
<input type="submit" name="submit" value="Upload" /> 
</form> 

voglio fare in modo che ciascun file aveva file di caricamento.
Ecco la mia condizione e il codice che scrivo:

File 1 vuoto:

if(empty($_FILES['file']['name'][0])) 
{ 
    echo 'file 1 empty'; 
} 

File 2 vuoto:

if(empty($_FILES['file']['name'][1])) 
{ 
    echo 'file 2 empty'; 
} 

file 1 e File 2 vuoto:

if(empty($_FILES['file']['name'][0]) && ($_FILES['file']['name'][1])) 
{ 
    echo 'file 1 and file 2 empty'; 
} 

E 'possibile le per scrivere la condizione di cui sopra in ciclo for? O semplicemente scrivere separatamente il codice è sufficiente?

+0

Sì, è possibile farlo con un ciclo for o while, ma se si sta sempre a che fare con solo 2 file e si anche bisogno di sapere se entrambi i file sono vuote, ciò che hai è abbastanza efficiente Se hai a che fare con situazioni più complesse con più file, riscriverlo come un loop è probabilmente meglio. – Cuagau

risposta

6

uso foreach

$i=1 
foreach($_FILES['file']['name'] as $file){ 
if(empty($file)) 
{ 
    echo "file $i empty"; 
    $i++ 
} 
} 
Problemi correlati