Tom: Bilder uploadscript nur Bilder erlauben

Beitrag lesen

Hello,

Hallo, ich hab mir ein Bilder Uploadscript besorgt, nun will ich aber dass man wirklich nur Bilder über das Formular Uploaden kann. Ich hab bereits accept="image/*" ins Script geschrieben, jedoch kann ich weiterhin .zip Datein und andere Datein hochladen die keine Bilder sind, wo liegt mein Fehler?

Hochladen kannst Du alles.
Erst wenn die Datei auf dem Server liegt, kannst Du sie untersuchen, welchen Typ sie wahrscheinlich hat.

Dazu gibt es in PHP speziell für Bilder die Funktion

getImageSize();

http://www.php.net/manual/en/function.getimagesize.php

Außerdem solltest Du nach einem erfolgten Upload als erstes die Statusmeldung abfragen

if(isset($_FILES[$feldname]['error'] and $_FILES[$feldname]['error'] === 0)
  {
    ### Upload OK, _ein_ File wurde hochgeladen
  }

oder komplexer...

if(isset($_FILES[$feldname]['error'])
  {
    if($_FILES[$feldname]['error'] === 0)      ### auf identisch 0 prüfen!
    {
       ### Upload OK, _ein_ File wurde hochgeladen
    }
    elseif (is_array($_FILES [$feldname]['error'])
    {
       ### mehrere Files wurden hochgeladen
       ### jeden einzeln untersuchen
    }
    else
    {
       ### Fehlerbehandlung  echo 'Fehler beim Upload '.errortext($_FILES [$feldname]['error']};
    }

}

Jede weitere Behandlung kannst Du Dir sparen, wenn ['error'] !== 0 ist
bzw. beim Multiupload  ['error'][$n] !== 0 ist

Harzliche Grüße vom Berg
http://www.annerschbarrich.de

Tom

--
Fortschritt entsteht nur durch die Auseinandersetzung der Kreativen
Nur selber lernen macht schlau