Schrift
[thread]12247[/thread]

Prüfen ob PDF

Tags: Ähnliche Threads

Leser: 2


<< |< 1 2 >| >> 11 Einträge, 2 Seiten
Froschpopo
 2008-07-25 01:23
#112665 #112665
User since
2003-08-15
2653 Artikel
BenutzerIn
[default_avatar]
Weiss einer von Euch, wie ich prüfen kann, ob es sich bei einer Datei um ein PDF handelt?
Ich will mich auf die Dateiendung nicht verlassen.
Gibts da irgendeinen Trick?
moritz
 2008-07-25 01:26
#112666 #112666
User since
2007-05-11
923 Artikel
HausmeisterIn
[Homepage]
user image
Froschpopo
 2008-07-25 01:35
#112667 #112667
User since
2003-08-15
2653 Artikel
BenutzerIn
[default_avatar]
Danke für den Tipp! Ich finde das Modul aber etwas zu groß dafür, dass ich nur PDF's checken will und in anbetracht dessen, dass mein Script bereits über 20 Module verwendet und langsam lahm wird :-(
Das muss doch auch irgendwie einen Dreizeiler für sowas geben... Kann man nicht irgendwie hexadezimal etwas machen? Wenn irgendwo PDF drinne steht müsste man das doch einfach raussuchen können.
Linuxer
 2008-07-25 02:09
#112668 #112668
User since
2006-01-27
3870 Artikel
HausmeisterIn

user image
Aus Wikipedia: Magic Number
Quote
...
PDF files start with '%PDF'.
...


Der Rest liegt bei Dir ;o)
meine Beiträge: I.d.R. alle Angaben ohne Gewähr und auf Linux abgestimmt!
Die Sprache heisst Perl, nicht PERL. - Bitte Crossposts als solche kenntlich machen!
Dubu
 2008-07-25 02:25
#112669 #112669
User since
2003-08-04
2145 Artikel
ModeratorIn + EditorIn

user image
In meiner magic-Datei wird noch auf den Bindestrich dahinter getestet, also '%PDF-' am Anfang der Datei.
Froschpopo
 2008-07-25 03:52
#112675 #112675
User since
2003-08-15
2653 Artikel
BenutzerIn
[default_avatar]
also ich weiss nicht obs so üblich ist, ich habe jetzt einfach:
Code (perl): (dl )
1
2
3
my $callback = 0;
read(PDF, $callback, 5);
print $callback,"\n";

Das scheint so zumindestens mit meinen 5 Test-PDF's zu funktionieren:
Code: (dl )
%PDF-
pq
 2008-07-25 11:59
#112686 #112686
User since
2003-08-04
12208 Artikel
Admin1
[Homepage]
user image
Froschpopo+2008-07-24 23:35:10--
Danke für den Tipp! Ich finde das Modul aber etwas zu groß dafür, dass ich nur PDF's checken will und in anbetracht dessen, dass mein Script bereits über 20 Module verwendet und langsam lahm wird :-(

lol, wenn dein skript lahm wird durch benutzung von modulen, solltest du mod_perl verwenden.
vorausgesetzt, es handelt sich um eine web-applikation.
frosch, ständig ärgerst du dich, wenn dir jemand ein modul vorschlägt. wenn du das nicht
magst, dann schau dir halt den quelltext des moduls an und programmiers nach. entweder
du kriegst es hin oder du solltest tatsächlich das modul benutzen.
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
Froschpopo
 2008-07-25 13:18
#112688 #112688
User since
2003-08-15
2653 Artikel
BenutzerIn
[default_avatar]
es handelt sich nicht um ein cgi, sondern um tk.
wieso redest du hier von ständig? ich bin ständig beschäftigt und nur ca. 0.5% der zeit hier im forum und dann auch nur, wenn ich etwas nicht verstehe oder gerade einen hänger habe.
Das Modul versteht doch keine sau! ich habe dort nach pdf gesucht und finde dort lediglich die zeile:
Code: (dl )
0	string		%PDF-		application/pdf

das mit read wusste ich vorher auch schon, wie man sieht war es deshalb auch kein problem die datei zeichenweise einzulesen.
den fehler den ich anerkenne ist, dass ich das deutsche wiki gelesen habe wo kein wort von "starts with %PDF" steht. Und mit magischer zahl kann ich nichts anfangen weil ich vorher nicht wusste dass ich danach hätte ausschau halten müssen.
Linuxer
 2008-07-25 13:37
#112689 #112689
User since
2006-01-27
3870 Artikel
HausmeisterIn

user image
Froschpopo+2008-07-25 11:18:20--
Das Modul versteht doch keine sau! ich habe dort nach pdf gesucht und finde dort lediglich die zeile:
Code: (dl )
0	string		%PDF-		application/pdf

Säue brauchen das auch nicht verstehen, das Modul ist für Menschen geschrieben ;o)

Wenn Du im Modulquellcode den Anfang des DATA-Bereichs betrachtest, solltest Du eine Erklärung sehen, was das Format der Zeile ist:

Quote
__DATA__
# Magic data for mod_mime_magic Apache module (originally for file(1) command)
# The module is described in htdocs/manual/mod/mod_mime_magic.html
#
# The format is 4-5 columns:
# Column #1: byte number to begin checking from, ">" indicates continuation
# Column #2: type of data to match
# Column #3: contents of data to match
# Column #4: MIME type of result
# Column #5: MIME encoding of result (optional)


Ich finde das schon sehr erklärend, ohne dass ich das Modul komplett gelesen habe... (und es hat keine Minute gedauert, das nachzuschauen)
meine Beiträge: I.d.R. alle Angaben ohne Gewähr und auf Linux abgestimmt!
Die Sprache heisst Perl, nicht PERL. - Bitte Crossposts als solche kenntlich machen!
pq
 2008-07-25 13:47
#112691 #112691
User since
2003-08-04
12208 Artikel
Admin1
[Homepage]
user image
Froschpopo+2008-07-25 11:18:20--
wieso redest du hier von ständig?

ich habe gerade keine lust, aber ich könnte wohl einige threads von dir raussuchen, in denen
du dich über module beschwerst. jetzt leugne es nicht auch noch.
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
<< |< 1 2 >| >> 11 Einträge, 2 Seiten



View all threads created 2008-07-25 01:23.