MIME-types und file upload

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • MIME-types und file upload

    Hi folks,

    beim erstellen eines File-Uploads Scripts ist mir etwas merkwürdiges aufgefallen. Na gut, vielleicht lags auch an meinem dämlichem Script, aber erstmal die Fallbeschreibung:

    Um zu prüfen, dass der User nur HTML-Dateien hochlädt und nicht irgendwas anderes, überprüfte ich den upload_type. Sollte mir ja eigentlich den MIME-type der hochgeladenen Datei wiedergeben. Dann müsste ich sie ja nur mit einem Array erlaubter MIME-types vergleichen und fertig.

    Seltsamerweise zeigt er mir als MIME-type für eine HTML-Datei nicht "text/html" an, wie es eigentlich sein sollte, sondern stattdessen "application/octet-stream"!

    Das ist ja nun eher der MIME-type für eine Binär-Datei.
    Also meine Frage: Ist das jemand anderem von euch schon untergekommen, oder ist das ein Bug vom Browser (benutzte IE5.0)?
    Hab ich vielleicht in meinem Upload-Formular einen entscheidenden Eintrag vergessen?



  • #2
    am Browser kanns eigentlich nicht liegen. Hat bei mir immer geklappt. Außerdem ist die Mime-Type ermittlung ja PHP sache, also eher da der Fehler.
    Dein Form sollte eigentlich so aussehen:
    Code:
    <form action="pfad/nachfolge_skript.php3" method="post" target="_self" enctype="multipart/form-data">
    <input type="file" name="uploadfile">
    <input type="submit" value="Upload">
    </form>
    
    im folgenden Skript nachfolge_skript.php3:
    
    echo "<br>Name des File: ".$uploadfile_name;
    echo "<br>Größe des File: ".$uploadfile_size;
    echo "<br>Type des File: ".$uploadfile_type;
    echo "<br>Type des File: ".$HTTP_POST_FILES['uploadfile']['type'];  // geht nur unter PHP4 und mit eingeschaltetem track_vars
    echo "<br>Endung des File: ".substr($uploadfile_name,strrpos($uploadfile_name,"."));
    mehr kann ich dir leider nicht sagen, hat bei mir immer ausgereicht bzw. funktioniert.

    [Editiert von BrainBug am 07-08-2001 um 14:19]

    Kommentar


    • #3
      Erstmal danke.
      Allerdings hab ich an deinem Formular/Script nichts gefunden, was bei meinem Code irgendwie fehlen würde.

      Bei mir zuhause aufm Rechner funktioniert die Überprüfung auf $uploadFile_type ebenfalls korrekt; der MIME-type wird wie es sollte als "text/html" ausgegeben.

      Ich hab's jetzt auch erstmal mit der Überprüfung der Extension gut sein lassen. Vielleicht liegt es ja an der jeweiligen Server-Konfiguration, ich versuch mich da mal schlauer zu machen und melde mich wieder, falls ich den Fall auch auf anderen Servern reproduzieren kann.

      Kommentar

      Lädt...
      X