PHP-Namen für Dateitypen

folio

Erfahrenes Mitglied
Hi,

ich möchte mir einen kleinen dateiupload programmieren und stehe vor dem Problem, dass ich nicht weiß wie sich in PHP die Dateitypen nennen, wie etwa
image/pjpeg
oder
image/gif

ich habe schon in der Doku gesucht, jedoch nichts gefunden. Hat da jemand einen Link zu einer Liste?


mfg
folio
 
Die Mime-Types kommen nicht von PHP, sondern vom Browser, sind also von Browser zu Browser unterschiedlich. Lass sie dir doch einfach von deinem PHP-Script ausgeben, und ruf es mit den verschiedenen Browsern auf.
 
KristophS hat gesagt.:
Die Dateitypen sind nicht im jedem Browser anders: hier findest du eine Übersicht der wichtigesten Mimetypen.
Ja, das war falsch formuliert. Sie sind nicht bei jedem Browser gleich. Mag sein, das sie bei 2 verschiedenen Browsern auch übereinstimmen können, aber im allgemeinen ist das nicht so.
 
Afaik sind Mimetypen festgelegt: ein JPEG wird immer mit dem Mimetyp image/jpeg bzw. image/pjepg ausgeliefert.
Wenn du also ein array "images" machst, kannst du dies mit foreach durchgehen und sobald eins zutrifft, die Schleife beenden.

Ansonsten würden Uploadformulare mit Typencheck überhaupt nicht funktionieren.
 
Du wiedersprichst dir selbst in deiner Antwort. Ein jpeg wird entwerder als image/jpeg oder image/pjpeg ausgegeben, je nach Browser. Genauso z.B. bei tgz-Files: entweder application/x-gzip oder application/x-gzip-compressed. Es ist eben doch von Browser zu Browser verschieden.
In der Liste, die du angegeben hast, sind werde image/pjpeg noch x-gzip und x-gzip-compressed enthalten. Und bevor nachher große Verwirrung auftritt, warum bestimmte Leute nix hochladen können, weil sie einen anderen Browser haben, habe ich darauf hingewiesen.

Btw. ein Array mit foreach durchzugehen, um zu überprüfen, ob ein bestimmter Wert darin enthalten ist, ist eine sehr unelegante Lösung.
 
Zuletzt bearbeitet:
Ich kenne mich nicht genug mit MimeTypen aus, meine dennoch,dass diese Typenbehandlung nicht an der Willkür des Browsers liegt.

Und zu der Umsetzung:
Wie würdest du es machen?
 
Dafür gibt es die schöne Funktion http://www.php.net/in_array .
Die wird zwar intern auch nichts anderes machen, als das Array per foreach durchzugehen, und zu vergleichen, aber warum sollte man sich arbeit machen, wenns schon fertige Funktionen gibt.

Also reine Willkür ist es natürlich nicht, aber es ist Fakt, dass dir der IE für jpegs image/pjpeg liefert, und der Firefox z.B. image/jpeg
Wenn man das nicht weiß, findet man den Fehler nicht leicht, wenn der Firefox-User keine Datei hochladen kann.
 
Zurück