toby: Upload: Dateityp überprüfen

hi,
 wie kann ich es realisieren, dass ausschließlich pdf dateien geuploadet werden können mit meinem script?
danke für tipps.

  1. 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

    1. 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

      --
      sh:( fo:} ch:? rl:( br: n4:~ ie:{ mo:| va:) de:> zu:} fl:( ss:) ls:[ js:|
      „It is required that HTML be a common language between all platforms. This implies no device-specific markup, or anything which requires control over fonts or colors, for example. This is in keeping with the SGML ideal.“
      [HTML Design Constraints: Logical Markup]
  2. 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

    --
    "Als es noch keine Computer gab, war das Programmieren noch relativ einfach." - Edsger W. Dijkstra
    1. 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

      --
      "Love your nation - respect the others."
  3. 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

    1. 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

      --
      sh:( fo:} ch:? rl:( br: n4:~ ie:{ mo:| va:) de:> zu:} fl:( ss:) ls:[ js:|
      „It is required that HTML be a common language between all platforms. This implies no device-specific markup, or anything which requires control over fonts or colors, for example. This is in keeping with the SGML ideal.“
      [HTML Design Constraints: Logical Markup]
      1. 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