Upload Fehler

Wollt ich gerade fragen . . . Wie kann ich das am besten machen!? Bildgröße und Typ abfragen - aber das ganze vor dem hochladen!?


Hallo,

vor dem Upload wird das sicherlich nicht funktionieren. Einzig die maximale Dateigröße kannst du vor dem Upload setzen:
Code:
<input type="hidden" name="MAX_FILE_SIZE" value="153600">
Wobei der Wert (also "value") die Größe in Bytes darstellt. Doch das alleine wäre noch nicht ausreichend, da das versteckte Element nur ein Hinweis für den Browser ist.


Das Skript an sich könntest du so sicherer machen (nicht getestet)...
PHP:
//...
else
  if(!$_POST["MAX_FILE_SIZE"] || $_FILES["Datei"]["size"] > $_POST["MAX_FILE_SIZE"])
    echo("    <h2>Problem festgestellt...</h2>\n     Woot... Hacker?");
  else
    if(($Ausgabe = datei_hochladen($_FILES["Datei"], $_POST["Name"])) === true)
      echo("    <h2>Datei hochgeladen...</h2>\n".
           "    Die Datei wurde erfolgreich hochgeladen!");
    else
      echo("    <h2>Upload fehlgeschlagen...</h2>\n".
           "    ".$Ausgabe);
//...
und die Funktion könntest du so erweitern (nicht getestet)...
PHP:
//...
  $HochgeladenesBild = imagecreatefromjpeg($Bildpfad);
  
  unlink($Bildpfad);

  if(!$HochgeladenesBild)
    return "Falscher Dateityp";
//...
Alternativ dazu oder als zweite, überflüssige (?) Prüfung (auch ungetestet)...
PHP:
//...
function datei_hochladen($Quelle, $Name){
  if($Quelle["type"] != "image/jpeg")
    return "Falscher Dateityp";
//...

Gibt mit Sicherheit noch viele andere, schönere Möglichkeiten, die ich jetzt nicht auflisten werde, da die Frage war, ob/wie man Bildgröße und -typ noch vor dem Upload ermitteln kann.
 
Zurück