Der Martin: $_FILES['bild']['tmp_name'] überprüfen ob vorhanden?

Beitrag lesen

Hi,

Nach
   if (isset($_FILES['userfile']['tmp_name']))
kann er in PHP jederzeit fragen.

ja, nur dass als Ergebnis drei unterschiedliche Fälle möglich sind:

a) true:  Das angefragte Element existiert
b) false: Das angefragte Element existiert nicht
c) false + Notice-Meldung: Das angefragte Element existiert nicht, nicht einmal dessen Elternelement

Fall c) scheint bei Matthias vorzuliegen. Er fragt nach $_FILES['userfile']['tmp_name'] und bekommt eine Notice-Meldung. Also "fehlt" ihm nicht nur $_FILES['userfile']['tmp_name'], sondern auch schon das übergeordnete $_FILES['userfile'], was er vorher erst abprüfen müsste.

Das Ergebnis von isset() sagt aber nichts darüber aus, in welcher Tiefe

1)   $_FILES
2)   $_FILES['userfile']
3)   $_FILES['userfile']['tmp_name']

die Struktur und damit auch die Variable existiert.
Das müsste er, wenn es denn notwendig wäre, Stufe für Stufe verifizieren.

Genau das wollte ich mit meinem vorherigen Beitrag schon veranschaulichen.

Darum hatte ich vorgeschlagen, zuerst
     if (isset($_FILES['bild']['error']) and $_FILES['bild']['error']) === UPLOAD_ERR_OK)
zu prüfen

Das würde ebenfalls eine Notice werfen, wenn schon $_FILES['bild'] nicht existiert.

Ciao,
 Martin

--
Wer im Glashaus sitzt, sollte Spaß am Fensterputzen haben.
Selfcode: fo:) ch:{ rl:| br:< n4:( ie:| mo:| va:) de:] zu:) fl:{ ss:) ls:µ js:(