Zitat:
Original geschrieben von Anbu
gibt es eine Mögligkeit aus einem Binärcode den Filetype eines Bildes auszulesen?
|
Klar. Es soll Betriebssysteme geben, die machen das nur so.
Für die drei gängigsten Grafikdateitypen, die im WWW so rumschwirren geht das eins-fix-drei:
PHP-Code:
/// detect image file type
/// return STR filetype | FALSE for unknown filetype
function get_image_type(
$binary /// binary string (at least the first 6 bytes)
) {
static $types = array (
3 => 'jpeg',
4 => 'gif',
6 => 'png',
);
if (!preg_match('/\A(\xff\xd8\xff|GIF8|\x89PNG\x0d\x0a)/ms', $binary, $hits)) {
return FALSE;
}
return isset($types[strlen($hits[0])]) ? $types[strlen($hits[0])]: FALSE;
}
Viel mehr Mühe gibt sich getimagesize() auch nicht[1].
Ist ungetestet, sollte aber funktionieren, wenn du den Quellcode aus der Zitatansicht kopierst (wegen der sonst fehlenden Backslashes).
Aus der Datenbank rausholen musst du sie aber selbst.
P.S.: Ja, mir war gerade langweilig ...
--
[1] Um den Dateityp zu rauszubekommen. Für die Ermittlung der Abmessungen tut es sicher noch etwas mehr.