ChrisB: $_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.

Nein, müsste er nicht - weil PHP bei isset in Bezug auf Arrays so „tolerant“ ist, sich nicht darum zu kümmern, ob die vorherigen Ebenen alle existieren.

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.

Nein, würde es nicht.

MfG ChrisB

--
RGB is totally confusing - I mean, at least #C0FFEE should be brown, right?