Schrift
[thread]8986[/thread]

checken ob JPEG, aber very sicher!

Leser: 1


<< >> 2 Einträge, 1 Seite
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-->
pq
 2007-05-09 13:18
#76593 #76593
User since
2003-08-04
12208 Artikel
Admin1
[Homepage]
user image
äh, mal ne ganz dumme frage, wieso benutzt du nicht CPAN:Image::Info?
Always code as if the guy who ends up maintaining your code will be a violent psychopath who knows where you live. -- Damian Conway in "Perl Best Practices"
lesen: Wiki:Wie frage ich & perlintro Wiki:brian's Leitfaden für jedes Perl-Problem
<< >> 2 Einträge, 1 Seite



View all threads created 2007-05-09 11:45.