Upload: Dateityp überprüfen
toby
- php
hi,
wie kann ich es realisieren, dass ausschließlich pdf dateien geuploadet werden können mit meinem script?
danke für tipps.
Hi toby,
wie kann ich es realisieren, dass ausschließlich pdf dateien geuploadet werden können mit meinem script?
danke für tipps.
Eine kleine Hilfe könnte sein, dass du den Namen der hochzuladenden Datei splittest am Punkt und im letzten Teilstück auf PDF prüfst.
Das ist natürlich nur die halbe Wahrheit, da ich ja eine beliebige Datei *.pdf nennen kann, aber hilft bestimmt schonmal ein bisschen.
M.E. kann man den wahren Inhalt nur über reinschauen in die Datei realisieren. Achtung keine gesicherte Aussage, ich habe es nicht geprüft, aber mir scheint, als stünde in PDF's am Anfang immer "%PDF". Das könntest du natürlich auch als Kriterium nehmen.
Viel Spaß!
ciao
romy
Hallo romy.
M.E. kann man den wahren Inhalt nur über reinschauen in die Datei realisieren. Achtung keine gesicherte Aussage, ich habe es nicht geprüft, aber mir scheint, als stünde in PDF's am Anfang immer "%PDF". Das könntest du natürlich auch als Kriterium nehmen.
Ja, das ist vermutlich das verlässlichste Kriterium, da dies sogar in der PDF-Referenz erwähnt wird:
The first line of a PDF file is a header identifying the version of the PDF specification to which the file conforms. For a file conforming to PDF version 1.5, the
header should be
%PDF-1.5
Notfalls könnte auch noch „file“ (nein, nicht die PHP-Funktion) behilflich sein. (Ausgeführt über exec und Konsorten) Auch damit kann recht eindeutig der tatsächliche Dateityp ungeachtet des Dateinamens ermittelt werden.
Einen schönen Mittwoch noch.
Gruß, Ashura
Hallo,
wie kann ich es realisieren, dass ausschließlich pdf dateien geuploadet werden können mit meinem script?
Die Variable mit der du die hochgeladene Datei holst, ist doch $_FILE ?!. $datei = $_FILE['formname']. $datei ist ein Array. In dem steht auch sowas wie 'type'. Der gibt an von welchem Typ die hochgeladene Datei ist.
Gruß,
Kerstin
Moin!
Die Variable mit der du die hochgeladene Datei holst, ist doch $_FILE ?!. $datei = $_FILE['formname']. $datei ist ein Array. In dem steht auch sowas wie 'type'. Der gibt an von welchem Typ die hochgeladene Datei ist.
Nein. Darin steht, was der Browser sagt, welcher Dateityp das sein soll. Diese Angabe ist manipulierbar und deshalb nicht als verläßlich anzusehen.
- Sven Rautenberg
hi,
wie kann ich es realisieren, dass ausschließlich pdf dateien geuploadet werden können mit meinem script?
danke für tipps.
Schau dir im Manual mal die Funktion mime_content_type()[1] an. In den Usercomments steht auch noch was interessantes, was auf die Lösung von Ashura verweist, falls diese Funktion nicht in dein PHP integriert ist.
[1] http://de2.php.net/manual/de/function.mime-content-type.php
Hallo Erik.
[1] http://de2.php.net/manual/de/function.mime-content-type.php
Ah, danke. Diese Funktion hatte ich gesucht.
Warum konnte sie nicht gefunden werden? Blöde Suchengine.
Einen schönen Mittwoch noch.
Gruß, Ashura
Hallo Ashura,
Ah, danke. Diese Funktion hatte ich gesucht.
Bitteschön.
Warum konnte sie nicht gefunden werden? Blöde Suchengine.
Um es noch seltsamer zu machen:
http://de2.php.net/manual-lookup.php?pattern=mime-content
Da wird sie gefunden ...
MfG
Erik