Upload: Dateityp prüfen PDF

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Upload: Dateityp prüfen PDF

    Hallo,

    ich erstelle gerade ein kleines Uploadscript. Zum den Upload auf Bilder zu limitieren verwende ich:

    PHP-Code:
    function  image_valid($type)
                    {
                        
    $file_types  = array(  
                        
    'image/pjpeg'     => 'jpg',
                        
    'image/jpeg'     => 'jpg',
                        
    'image/jpeg'     => 'jpeg',
                        
    'image/gif'     => 'gif',
                        
    'image/X-PNG'    => 'png',
                        
    'image/PNG'         => 'png',
                        
    'image/png'     => 'png',
                        
    'image/x-png'     => 'png',
                        
    'image/JPG'     => 'jpg',
                        
    'image/GIF'     => 'gif',
                        
    'image/bmp'     => 'bmp',
                        
    'image/bmp'     => 'BMP',
                        );
                       
                        if(!
    array_key_exists($type$file_types))
                        {
                            return 
    "FALSE";
                        }
                        else
                        {
                            return 
    "TRUE";
                        }
                    } 
    und

    PHP-Code:
    if(image_valid($_FILES['datei']['type']) === "FALSE")
                                {
                                    die(
    "Bildtyp ungültig");
                                } 
    Aber wie stelle ich es an, nur PDF-Dateien zu erlauben?

    Vielen Dank im voraus für eure Hilfe
    Zuletzt geändert von maggus; 31.10.2007, 10:09.

  • #2
    Schau dir den entsprechenden MIME Type http://de.selfhtml.org/diverses/mimetypen.htm für PDF an.
    Tipp: Wenn du mit true und false operierst, dann verwende gleich die Boolean Werte
    PHP-Code:
    true
    false 
    und keine Strings

    Gruss

    tobi
    Gutes Tutorial | PHP Manual | MySql Manual | PHP FAQ | Apache | Suchfunktion für eigene Seiten

    [color=red]"An error does not become truth by reason of multiplied propagation, nor does truth become error because nobody sees it."[/color]
    Mohandas Karamchand Gandhi (Mahatma Gandhi) (Source)

    Kommentar


    • #3
      Ich danke dir für die super schnelle Antwort

      Kommentar


      • #4
        Im übrigen bietet dir diese Art der prüfung keine Sicherheit, ob es sich tatsächlich um den erwarteten Dateityp handelt.
        [FONT="Helvetica"]twitter.com/unset[/FONT]

        Shitstorm Podcast – Wöchentliches Auskotzen

        Kommentar


        • #5
          Im übrigen bietet dir diese Art der prüfung keine Sicherheit, ob es sich tatsächlich um den erwarteten Dateityp handelt.
          Richtig. Aber zumindest bei Bildern könnte der TS mittels einer PHP-Bildfkt versuchen auf die Datei zuzugreifen. Wenn es einen Fehler gibt ist es irgendeine Datei, die sich als Bild auszugeben versucht.

          Gruss

          tobi
          Gutes Tutorial | PHP Manual | MySql Manual | PHP FAQ | Apache | Suchfunktion für eigene Seiten

          [color=red]"An error does not become truth by reason of multiplied propagation, nor does truth become error because nobody sees it."[/color]
          Mohandas Karamchand Gandhi (Mahatma Gandhi) (Source)

          Kommentar


          • #6
            Bitmaps jedenfalls kann man damit auch nicht prüfen. Und ich hab auch schon ein paar mal krude Probleme mit PNGs gehabt. Wie dem auch sei ... PDFs damit schon mal gar nicht
            [FONT="Helvetica"]twitter.com/unset[/FONT]

            Shitstorm Podcast – Wöchentliches Auskotzen

            Kommentar


            • #7
              PDFs damit schon mal gar nicht
              Mit einer PDF Klasse müsste doch auch das machbar sein
              Gutes Tutorial | PHP Manual | MySql Manual | PHP FAQ | Apache | Suchfunktion für eigene Seiten

              [color=red]"An error does not become truth by reason of multiplied propagation, nor does truth become error because nobody sees it."[/color]
              Mohandas Karamchand Gandhi (Mahatma Gandhi) (Source)

              Kommentar


              • #8
                aha, diese Funktion bringt also zur PDF-Prüfung nichts?

                Muss ich dann dieses Uploadscript ohne jegliche Prüfung bereitstellen?

                Kommentar


                • #9
                  Die meisten Browser (um nicht zu sagen alle mir bekannten), liefern den MIME-Typ für PDF mit, wenn ich eine Datei auf .pdf enden lasse. Ebenso verhält es sich mit allen anderen Dateiendungen. Wirklich zuverlässig kannst du nur mit Dateispezifischen Funktionen die Integrität der übertragenen Datei prüfen. Wie jahlives anmerkte, zum Beispiel mit einer PDF-Klasse.
                  [FONT="Helvetica"]twitter.com/unset[/FONT]

                  Shitstorm Podcast – Wöchentliches Auskotzen

                  Kommentar


                  • #10
                    unset und jah... vielleicht solltet ihr klarstellen, dass eure einwände nicht auf die dateiendungen sondern auf den inhalt münzen

                    @maggus... deine prüfung bringt schon was... allerdings keine 100%ige sicherheit, ob es sich bei der datei hanswurst.jpg auch wirklich um ein bild handelt...
                    **********
                    arkos
                    **********

                    Kommentar


                    • #11
                      Hab ich doch ..
                      [FONT="Helvetica"]twitter.com/unset[/FONT]

                      Shitstorm Podcast – Wöchentliches Auskotzen

                      Kommentar


                      • #12
                        weiß ich doch nur klang dieser beitrag nicht danach:
                        Original geschrieben von maggus
                        aha, diese Funktion bringt also zur PDF-Prüfung nichts?

                        Muss ich dann dieses Uploadscript ohne jegliche Prüfung bereitstellen?
                        ich dachte, ich muss da noch mal n schubs richtung richtiges verständnis geben
                        **********
                        arkos
                        **********

                        Kommentar


                        • #13
                          Du kannst dir auch ganz einfach eine eigene Prüfroutine für PDFs basteln. Woran du ein PDF identifizieren kannst, kannst du hier nachlesen!

                          Kommentar


                          • #14
                            Oki, jetzt ist alles klar

                            Vielen Dank für eure Comments

                            Einen schönen Abend... Ich gehe jetzt erst einmal 10 Tage in die Karibik ^^

                            Kommentar


                            • #15
                              du solltest first-level-support für vor ort mitnehmen... warte, ich pack schnell....
                              **********
                              arkos
                              **********

                              Kommentar

                              Lädt...
                              X