2012-04-10 28 views
13

Sto attraversando un periodo di difficoltà con $_FILEScome verificare se il campo del file è vuoto?

Voglio verificare se è vuoto o meno e se non è vuoto, non dovrebbe provare a caricare il file. Come posso controllare questo?

+0

http://php.net/filesize – zerkms

+0

Consulta il manuale ... http://php.net/manual/en/features.file-upload.php Inoltre, qual è la tua definizione di "vuoto"? Dimensione file di 0? Nessun file selezionato per il caricamento? – Lekensteyn

+0

Nessun file selezionato che; s cosa intendo dire –

risposta

22
if($_FILES["file"]["error"] != 0) { 
//stands for any kind of errors happen during the uploading 
} 

Inoltre v'è

if($_FILES["file"]["error"] == 4) { 
//means there is no file uploaded 
} 
13

Questo dovrebbe funzionare

if (! empty($_FILES)) {...} 
+0

Questo ha funzionato per me controllare se la pagina è stata chiamata senza pubblicare un file. La maggior parte delle altre soluzioni prevede che l'indice 'file' sia presente e genera un avviso. – Aviator

1
if(!empty($_FILES['myFileField'])) { 
    // file field is not empty.. 
} else { 
    // no file uploaded.. 
} 
7

Le altre risposte non ha funzionato per me. Così ho posto la mia soluzione:

if($_FILES['theFile']['name']=='') 
{ 
    //No file selected 
} 
5

È possibile utilizzare il valore UPLOAD_ERR_NO_FILE:

function isset_file($file) { 
    return (isset($file) && $file['error'] != UPLOAD_ERR_NO_FILE); 
} 

if(isset_file($_FILES['input_name'])) { 
    // It's not empty 
} 

Aggiornato: Poiché l'invio $ _FILES [ 'input_name'] può gettare un avviso

function isset_file($name) { 
    return (isset($_FILES[$name]) && $_FILES[$name]['error'] != UPLOAD_ERR_NO_FILE); 
} 

if(isset_file('input_name')) { 
    // It's not empty 
} 
5

Ecco cosa ha funzionato per me:

if ($_FILES['theFile']['tmp_name']!='') { 
    // do this, upload file 
} // if no file selected to upload, file isn't uploaded. 
Problemi correlati