13 Stimmen

Wie prüft man, ob ein $_FILE in php gesetzt ist?

Ich habe ein Formular mit 3 <input type="file"/>

Ich sehe, dass ich ein Array mit array(name=>"") .

Also prüfe ich if ($_FILE["myfilename"]["name"]=="") stattdessen.

Das funktioniert, erscheint mir aber eher ungewöhnlich.

Ich habe mich gefragt, ob es eine bessere Möglichkeit gibt, zu überprüfen, ob ein Dateieingang gesetzt ist oder nicht?

17voto

Pekka Punkte 429407

Es gibt sie: is_uploaded_file() . Wenn Sie mit hochgeladenen Dateien arbeiten, sollten Sie immer diese Option (und ihren Cousin move_uploaded_file() ) aus Sicherheitsgründen.

7voto

Shakti Singh Punkte 81441

Sie können verwenden leer um zu prüfen, ob eine Variable leer ist oder nicht, aber Pekkas Lösung ist auf diese Weise am besten

if (empty($_FILES["myfilename"]["name"]))

Wenn Sie prüfen wollen, ob eine Variable gesetzt ist, können Sie isset Funktion

4voto

Ciaran McNulty Punkte 18410

Am besten überprüfen Sie das, vorausgesetzt, Sie verwenden ein aktuelles PHP (4.2+):

$_FILE['myfilename']['error'] === UPLOAD_ERR_OK

Wenn dies der Fall ist, hat der Upload funktioniert. Sie können die Liste der anderen möglichen Werte sehen aquí

1voto

Osahady Punkte 360

Sie können dies versuchen:

if($_FILES['myfilename']['size'] > 0 ) {

}
else{
       echo 'File is not uploaded . . .';
}

0voto

Manish Negi Punkte 260

Versuchen Sie dies:

if($_FILES["uploadImg"]['name'][0] != ''){
    //echo 'file attached';
}else{
    //echo 'no file attached';
}

Das funktioniert bei mir...

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X