Thread checken ob JPEG, aber very sicher! (1 answers)
Opened by Froschpopo at 2007-05-09 11:45

Froschpopo
 2007-05-09 11:45
#76592 #76592
User since
2003-08-15
2653 Artikel
BenutzerIn
[default_avatar]
ich möchte wissen, ob ein Bild ein JPEG-Bild ist. Aber nicht nur anhand der Dateiendung, sondern mit größtmöglicher wahrscheinlichkeit.

Das mach ich so:
Code: (dl )
1
2
3
4
5
6
7
my $filehandle = $cgi->upload('foto');

my $buffer;
read($filehandle, $buffer, 2);
unless ($buffer eq "\xFF\xD8") {
die "Bild ist kein JPEG\n";
}

Warum ergibt die unless immer WAHR? Das ist doch alles korrekt!

wenn ich das Bild zuvor auf die Festplatte cache und dann nach open() die ersten Zeichen mit read(HANDLE, $buffer, 2) checke, dann klappt es!

Wo ist denn bitte der Unterschied zwischen:

read($filehandle, $buffer, 2)

-und-
read(FH, $buffer, 2)

?

Das Filehandle kommt von $cgi->upload('foto');
Es ist auch sicher ein Filehandle, sonst würde read() ja wie gewohnt meckern.\n\n

<!--EDIT|Froschpopo|1178696790-->

View full thread checken ob JPEG, aber very sicher!