2015-11-29 28 views
5

Powiedzmy mam formę takiego:PHP check Prześlij wiele plików pusty plik

<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> 

chcę, aby upewnić się, że każdy plik miał przesłany plik.
Oto mój stan i kod, który piszę:

pliku 1 pusta:

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

Plik 2 puste:

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

Plik 1 i File 2 puste:

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

Czy to możliwe? le napisać powyższy warunek w pętli for? Czy po prostu samodzielnie napisać kod wystarczy?

+0

Tak, można to zrobić z za lub podczas pętli, ale jeśli są zawsze do czynienia z tylko 2 pliki i trzeba także wiedzieć, czy oba pliki są puste, co masz jest dość wydajny. Jeśli masz do czynienia z bardziej złożonymi sytuacjami z wieloma plikami, to przepisanie go jako pętli jest prawdopodobnie lepsze. – Cuagau

Odpowiedz

6

używanie foreach

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