nur jpg acceptieren !!!

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

  • nur jpg acceptieren !!!

    <form action="<?php echo $PHP_SELF ?>"
    enctype="multipart/form-data" method=POST>
    <input type="hidden" name="MAX_FILE_SIZE" value="250000">
    <input type=file name=file size=30><br><br>
    <input type="submit" name="gesendet" value=" Sende Wallpaper " >
    </form>

    das ist mein formular es giebt eine maximale dateigrösse vor..

    kann ich jetzt auch nur jpg acceptieren ????

    wenn ja wie ??

    thx blume
    für wallpaper: blumenbeet.com

  • #2
    Das geht erst, wenn der Upload processed wird, und zwar mit:

    if (!preg_match("!\.(jpg|jpeg|jpe)$!i",$HTTP_POST_FILES[file][name]) echo 'nix da!';

    CAT Music Files

    Kommentar


    • #3
      ganz einfach
      <?
      if($file_type == "image/jpeg"){
      }
      else print "bitte nur jpgs";
      ?>
      Beantworte nie Threads mit mehr als 15 followups...
      Real programmers confuse Halloween and Christmas because OCT 31 = DEC 25

      Kommentar


      • #4
        also meine jpegs haben immer den typ pjpeg..würden also von dir nicht erkannt MelloPie

        Kommentar


        • #5
          Ajo, beim genauen content type war ich mir jetzt net sicher kannst. Schau die in nem schlauen Buch nach :-)
          Die if clause ja machen wie auch immer das Gerüst is aber so. Dann bekomst Du auch alle Dateien, die nicht jpg ode so als extension haben etc...
          Beantworte nie Threads mit mehr als 15 followups...
          Real programmers confuse Halloween and Christmas because OCT 31 = DEC 25

          Kommentar


          • #6
            Die Methode mit RegEx finde ich viel praktischer, wenn es um Änderungen in der Hinsicht geht... und du hast auch kein switch{}-Statement oder mehr als eine If-Condition.

            CAT Music Files

            Kommentar


            • #7
              gibt es eine liste mit den content typen ?
              weiß nicht warum meine files pjpeg heissen..keine ahnung..
              dachte eher wegen progressive-jpeg..
              ..aber selbst ohne die option heissen sie pjpeg.

              Kommentar


              • #8
                ne jpgs ham immer pjpeg hatte nur was falsches geschrieben.
                Aber noch mal wegen RegEx.
                Wenn die Datei keine Extension hat weil man sie ohne diese speichern will dann funzt nur der content type...
                Beantworte nie Threads mit mehr als 15 followups...
                Real programmers confuse Halloween and Christmas because OCT 31 = DEC 25

                Kommentar


                • #9
                  @KinNeko: Konsultiere mal die RFC 2046.
                  => ftp://ftp.sunet.se/pub/Internet-docu...fc/rfc2046.txt

                  @MelloPie:
                  Der Content-Type wird von Webservern und Browsern so gut wie nie durch Auslesen der Datei bestimmt (ich muss sogar sagen, dass mir kein Programm bekannt ist, welches so vorgeht), sondern auch durch die Dateiextension. Wenn also jemand ein JPEG mit der Endung .jpg sendet und im Browser eingestellt hat, dass Dateien mit dieser Endung den Content-Type application/octet-stream haben, so bekommst du auch nur diese Angabe.

                  CAT Music Files

                  Kommentar


                  • #10
                    Original geschrieben von Sky

                    @MelloPie:
                    Der Content-Type wird von Webservern und Browsern so gut wie nie durch Auslesen der Datei bestimmt (ich muss sogar sagen, dass mir kein Programm bekannt ist, welches so vorgeht), sondern auch durch die Dateiextension. Wenn also jemand ein JPEG mit der Endung .jpg sendet und im Browser eingestellt hat, dass Dateien mit dieser Endung den Content-Type application/octet-stream haben, so bekommst du auch nur diese Angabe. [/B]
                    Das is so net richtig. Jede Datei hat einen Header und dort ist der content-type drin.
                    Den ändert auch der Browser net wenn Du die extension wegnimmst.
                    Es is ein Unterschied wie er sie anzeigt aber der content-type wird nicht verändert.
                    Es geht ja net dadrum wie der Brauser die datei interpretiert sondern wie das Script damit umgeht ...
                    Beantworte nie Threads mit mehr als 15 followups...
                    Real programmers confuse Halloween and Christmas because OCT 31 = DEC 25

                    Kommentar


                    • #11
                      Original geschrieben von MelloPie
                      Jede Datei hat einen Header und dort ist der content-type drin.
                      Wo denn?

                      CAT Music Files

                      Kommentar


                      • #12
                        Ok pass auf,
                        mach mal das hier:
                        benenn ein jpg einfach mal um in hallo ohne extension
                        und dann mach das script:
                        <?
                        $a = getimagesize("hallo");
                        print $i[2];
                        ?>
                        In $i[2] steht nun eine 2 drin das ist der content-type für jpg.
                        Beantworte nie Threads mit mehr als 15 followups...
                        Real programmers confuse Halloween and Christmas because OCT 31 = DEC 25

                        Kommentar


                        • #13
                          Nein. Jedenfalls nicht nach MIME-Standard.

                          [...] Index 2 a flag indicating the type of the image. 1 = GIF, 2 = JPG, 3 = PNG, 4 = SWF, 5 = PSD, 6 = BMP

                          getimagesize() gibt einfach einen proprietären Identifier für den Bildtyp zurück, mehr nicht. Mit dem Content-Type hat das nichts zu tun.

                          CAT Music Files

                          Kommentar


                          • #14
                            Hmmm...
                            Inwiefern proprietär?
                            Jedenfalls sollte man dem output des webservers schon etwas vertrauen
                            Beantworte nie Threads mit mehr als 15 followups...
                            Real programmers confuse Halloween and Christmas because OCT 31 = DEC 25

                            Kommentar


                            • #15
                              Proprietär insofern, dass dieser Wert nur für getimagesize() (und vielleicht noch andere Image-Funktionen von PHP) so festgelegt ist.

                              Und der Webserver hat hier seine Finger erst einmal nicht im Spiel, weil der POST-Header (und somit auch der Content-Type als Element des HTTP-Headers) vollständig vom Browser generiert wird.

                              Wenn du mit getimagesize() das upgeloadete File überprüfst und den Rückgabewert checken willst, so ist das sicherlich eine gute und sichere Methode - aber eben nur für die Bildformate, die getimagesize() unterstützt - und mit Content-Type hat diese Funktion nichts am Hut, da das eine reine MIME-Sache ist.

                              CAT Music Files

                              Kommentar

                              Lädt...
                              X