Hello,
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.
PHP wertet die Bezeichnerkette einfach von links nach rechts aus. Solange kein Glied fehlt, wird weiter ausgewertet.
Darum hatte ich vorgeschlagen, zuerst
if (isset($_FILES['bild']['error']) and $_FILES['bild']['error']) === UPLOAD_ERR_OK)
zu prüfenDas würde ebenfalls eine Notice werfen, wenn schon $_FILES['bild'] nicht existiert.
Nein, würde es nicht.
Hierzu entsteht der Artikel im WIKI
http://wiki.selfhtml.org/wiki/Artikel:PHP/File_Upload
Mir dünkt, dass man auf die Zusammenhänge zwischen HTML-Formular und $_FILES-Array in PHP doch noch genauer (mit einer Zeichnung) eingehen könnte.
Immerhin gibt es ja auch noch die Unterscheidung zwischen Single-Upload und Multi-Upload. PHP verwendet für beide Varianten unterschiedliche Datenmodelle des $_FILES-Array.
Liebe Grüße aus dem schönen Oberharz
Tom vom Berg