Hello Susi,
Ein wenig Vertrauen sollte man zu seiner Software shcon haben dürfen.
Wenn ein einzelnes File fehlerfrei hochgeladen wurde, wird das $_FILES-Array angelegt sein.
Frage solltest Du also nicht nach dem Vorhandensein von Namen, sondern von Fehlern!
if (isset($_FILES['datei']['error']) and $_FILES['error'] === 0)
{
## Reinschauen ins File, ob es ein Bild ist
## link:
$_imgspec = getimagesize($_FILES['datei']['tmp_name']);
if(_$imgspec[ ] == ; ### such Dir mal die Werte raus. php.net ist grade down
{
if (move_uploaded_file($_FILES['datei']['tmp_name'],
"$upload_verzeichnis/$dateiname")) {
echo "Die Datei $dateiname wurde erfolgreich gespeichert!";
}
else
{
echo "Die Datei $dateiname wurde nicht gespeichert!";
}
else
{
kein Bild.
}
}
?>
Dem vom Client übermittelten MIME-Type darfst Du nicht trauen.
Du musst dringend darauf achten, dass Dir keine Executables, PHP-Scripte oder eine '.htaccess' auf den Server hochgeladen werden, insbesondere wenn die Bilder im Ablageverzeichnis nachher direkt über http erreichbar sein sollen.
Ein harzliches Glückauf
Tom vom Berg