Fehlerhafter Mimetyp für PHP-Upload

Es gibt 2 Antworten in diesem Thema. Der letzte Beitrag () ist von Manschula.

    Fehlerhafter Mimetyp für PHP-Upload

    Guten Abend liebe Community,

    ich habe hier ein PHP-Upload Script, welches neben der Dateiendung auch den Mimetyp überprüft. Die erlaubten Mimetypen stehen in einem Variablen-Array:

    PHP-Quellcode

    1. $erlaubte_mimetypen=array("text/plain");

    Ich möchte gerne nur Textdateien hochladen (lassen). Allerdings sollten auch solche Textdateien hochgeladen werden können, die statt "*.txt" z.B. auch "*.text" als Dateiendung haben. Die Textdateien verwenden als Zeichensatz Unicode.

    Leider blockiert das Script das Hochladen mit einem Verweis auf den fehlerhaften Mimetyp. Allerdings dachte ich, dass diese mit "text/plain" abgedeckt sind. Ist hier ein erfahrener PHP'ler unterwegs, der mir eine Lösung vorschlagen kann?

    Gruß, Manschula
    Nicht jeder Webbrower gibt den mimetype mit bzw den falschen also Achtung

    Ich würde nur die Dateiendung überprüfen!

    Soltest du PHP blockieren wollen würde ich Vorschlagen den Inhalt der datei auf <? oder <?php zu überprüfen.

    PHP-Quellcode

    1. $file_endung_split = explode(".",$file_name);
    2. $file_endung = $file_endung_split[count($file_endung_split)-1];


    MFG
    Hey,

    es wird zunächst die Dateiendung überprüft, anschließend der Mimetype. Hierbei sollen nur Textdateien zugelassen werden.

    Ich habe mich jetzt, als Laie(!), mal durch den Code gewühlt. Kurioserweise werden Textdateien, die nicht die Endung *.txt" aufweisen, mit dem Mimetype "application/octet-stream" erkannt. Das ist doch so aber nicht richtig, oder? Behelfsmäßig lasse ich diesen Mimetype jetzt zu, wäre aber für Alternativvorschläge dankbar.

    Gruß, Manschula