Grafikformate überprüfen
Klaus
- php
0 Der Martin
0 Klaus
Hallo,
ich will den Grafikformat einer hochgeladenen Grafik überprüfen. Bei JPG und GIF Grafiken funktioniert alles, aber bei PNG Grafiken gibt er an, dass der Dateiformat nicht stimme:
if( $bild != "" && $bild != "image/gif" && $bild != "image/pjpeg" && $bild != "image/jpeg" && $bild != "image/png") { ...
Gibt es für diesen Format eine andere Umschreibung oder wo liegt der Fehler ?
Gruß
Klaus
Hallo Klaus,
if ($bild!="" && $bild!="image/gif" && $bild!="image/pjpeg" && $bild!="image/jpeg" && $bild!="image/png")
was genau überprüfst du da? Den MIME-Typ? Und woher bekommst du den?
Merke: Bei einem File-Upload bekommt dein Script zwar auch den MIME-Typ der übertragenen Datei(en); diese Angabe gibt jedoch nur wieder, was der Client über die Datei *behauptet*. Vermutlich gibt dein Test-Client einen falschen MIME-Typ anstatt image/png an.
Für die Überprüfung, ob die hochgeladene Datei eine gültige Bilddatei ist, eignet sich die Funktion getimagesize() besser. Darüber hinaus gibt sie dir sogar als Schmankerl noch die Größe des Bildes und seinen Typ.
So long,
Martin
Das wird überprüft:
$bild = $_FILES['Bild']['type'];
Hallo,
$bild = $_FILES['Bild']['type'];
das ist der MIME-Typ den der Client mitsendet. Vergiss diese Information.
Prüfe, wie Martin Dir geraten hat, mit getimagesize().
Der korrekte MIME-Typ für JPEGs ist übrigens image/jpeg und nicht image/pjpeg, auch wenn es Browser geben soll, die letzteres mitschicken.
Freundliche Grüße
Vinzenz
Hallo Vinzenz,
Der korrekte MIME-Typ für JPEGs ist übrigens image/jpeg und nicht image/pjpeg, auch wenn es Browser geben soll, die letzteres mitschicken.
ich war auch etwas verblüfft über image/pjpeg. Ich habe das zwar schon hier und da gelesen, aber noch nie in freier Wildbahn angetroffen. Immerhin hat Klaus ja beides in seiner Abfrage, sowohl image/pjpeg als auch das korrekte image/jpeg.
Ciao,
Martin