Morgen,
also ich habe zugegebenermaßen von Objektorientiertem PHP nicht allzuviel Ahnung, aber trotzdem sieht dein Code irgendwie merkwürdig aus:
$files = array(); foreach ($_FILES['bild'] as $k => $l) { foreach ($l as $i => $v) { if (!array_key_exists($i, $files)) $files[$i] = array(); $files[$i][$k] = $v; } }
Also soweit ich das hier sehe, iterierst du hier über das Array $\_FILES['bild'] und kopierst dessen Inhalte in dein eigenes Array. Soweit so gut.
Nun startest du eine foreach-Schleife über dein neues Array, greifst aber innerhalb dieser Schleife nicht ein einziges Mal auf irgendeinen der Werte deines neuen Arrays zu. Stattdessen wird innerhalb der Schleife wieder auf $\_FILES zugegriffen.
Wozu überhaupt eine Schleife über ein Array, wenn du dieses dann nicht benutzt?