2013-01-22 16 views
17

W moim formularzu mam 3 pól wejściowych do przesłania pliku:Sprawdź, czy określony plik wejściowy jest pusty

<input type=file name="cover_image"> 
<input type=file name="image1"> 
<input type=file name="image2"> 

Jak mogę sprawdzić, czy cover_image jest pusty - nie jest umieścić plik do przesłania?

Odpowiedz

32

można sprawdzić za pomocą pola size na tablicy $_FILES tak:

if ($_FILES['cover_image']['size'] == 0 && $_FILES['cover_image']['error'] == 0) 
{ 
    // cover_image is empty (and not an error) 
} 

(Sprawdzam również tutaj error, ponieważ może to być 0, jeśli coś poszło nie tak. Nie użyłbym name dla tej kontroli, ponieważ to może być zmienione)

+12

Kod błędu "4" może zostać zwrócony, jeśli żaden plik nie zostanie przesłany. Tutaj jest [PHP Reference] (http://php.net/manual/en/features.file-upload.errors.php) – Bentleyo

+0

Używam go jak ... if ($ _FILES ['cover_image'] ['name '] == true) {...} – Sandhu

+0

@Sandhu, który nie jest nawet ważny i nie jest tym, co sugerowałem. –

9

Metoda 1

if($_FILES['cover_image']['name'] == "") { 
// No file was selected for upload, your (re)action goes here 
} 

Metoda 2

if($_FILES['cover_image']['size'] == 0) { 
// No file was selected for upload, your (re)action goes here 
} 
+0

odpowiednią metodę do mnie. :) – Touhid

1

czek po forma jest zamieszczona następujące

$_FILES["cover_image"]["size"]==0 
5
if (empty($_FILES['cover_image']['name'])) 
+1

To nie sprawdza poprawności pliku. Lepiej używać kombinacji "is_uploaded_file". – BenM

+0

ooh dzięki @BenM za uwzględnienie swojej sugestii ze mną –

4

Można sprawdzić, czy nie jest wartością, a jeśli obraz jest poprawny, wykonując następujące czynności:

if(empty($_FILES['cover_image']['tmp_name']) || !is_uploaded_file($_FILES['cover_image']['tmp_name'])) 
{ 
    // Handle no image here... 
} 
3
if(($_POST) && (!empty($_POST['cover_image']))) //verifies if post exists and cover_image is not empty 
    { 
    //execute whatever code you want 
    } 
+0

Zrobiłem to pierwszy, a następnie sprawdzić pusty na $ _FILES, w przeciwnym razie nie istnieje $ _FILES rzucił błąd. – Wayfarer

1

prosta:

if($_FILES['cover_image']['error'] > 0) 
    // cover_image is empty 
0
if($_FILES['img_name']['name']!=""){ 
    echo "File Present"; 
}else{ 
    echo "Empty file"; 
} 
0
if ($_FILES['cover_image']['size'] == 0 && $_FILES['cover_image']['error'] == 0) 
{ 
     // Code comes here 
} 

To coś działa na mnie ........