imageresize

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

  • imageresize

    Hi,

    hat einer von Euch ein Script oder eine Idee, wie ich ein Bild, was ich per formular uploade direkt auch als Thumbnail speichern kann??

    ich bin dabei mir eine usergallerie unter php zu bauen. die bilder werden mittlerweile zwar hochgeladen, leider sind sie zu groß um sie in der vorschau anzuzeigen.

    das script, was ich brauche müßte das orginalbild nehmen und in einer von mir vorgegeben breite propotional als thumbnail speicher!




  • #2
    wenn man nich da was für dich bei ist:
    http://www.php.net/manual/de/ref.image.php
    h.a.n.d.
    Schmalle

    http://impressed.by
    http://blog.schmalenberger.it



    Wichtige Anmerkung: Ich habe keine Probleme mit Alkohol ...
    ... nur ohne :-)

    Kommentar


    • #3
      hmm,

      also hier =>
      http://www.joelh.de/jbb/topiczeigen.php?nr=43&seite=1
      ist irgend ein Posting von mir JoelAdmin wo eine Funktion Thumbnailgenerator gepostet ist. Die kannst du verwenden um das File kleiner zu machen danach löschst du mittels unlink das grosse Bildfile.

      Kommentar


      • #4
        guter tipp (http://www.php.net/manual/de/ref.image.php),
        aber ziemlich kompliziert!!

        ein beispielscript würd mir wohl mehr helfen!!! bin nicht der begabteste programmiere!

        Kommentar


        • #5
          das beispielscript auf: http://www.joelh.de/jbb/topiczeigen.php?nr=43&seite=1 funktioniert!

          <?php
          // Thumbnailgenerator
          $imgpath = "images/image.jpg";

          $src = imagecreatefromjpeg($imgpath);
          $src_b = imagesx($src);
          $src_h = imagesy($src);
          if (!isset($neue_b)) { $neue_b = 50; }
          if (!isset($neue_h)) { $neue_h = 50; }
          $dst = imagecreate($neue_b, $neue_h);
          imagecopyresized($dst, $src, 0, 0, 0, 0, $neue_b, $neue_h, $src_b,
          $src_h);
          header("Content-type:image/jpeg");
          imagejpeg($dst);
          imagedestroy($dst);
          ?>

          allerdings wird das thumbnail NUR angezeigt.
          Wie kann ich es als thumb_$imagename.jpg speichern ???

          Kommentar


          • #6
            Original geschrieben von cyberbob
            allerdings wird das thumbnail NUR angezeigt.
            Wie kann ich es als thumb_$imagename.jpg speichern ???
            so: einfach

            header("Content-type:image/jpeg");
            imagejpeg($dst);

            ersetzen durch

            $f = fopen ("thumb_$imagename.jpg", 'wb');
            fwrite($f, $dst);
            fclose ($f);
            mein Sport: mein Frühstück: meine Arbeit:

            Sämtliche Code-Schnipsel sind im Allgemeinen nicht getestet und werden ohne Gewähr auf Fehlerfreiheit und Korrektheit gepostet.

            Kommentar


            • #7
              leider funktioniert es noch immer nicht.

              <?php
              // Thumbnailgenerator
              $imgpath = "images/image.jpg";
              $log = "";
              $src = imagecreatefromjpeg($imgpath);
              $src_b = imagesx($src);
              $src_h = imagesy($src);
              if (!isset($neue_b)) { $neue_b = 50; }
              if (!isset($neue_h)) { $neue_h = 50; }
              $dst = imagecreate($neue_b, $neue_h);
              imagecopyresized($dst, $src, 0, 0, 0, 0, $neue_b, $neue_h, $src_b, $src_h);
              $f = fopen ("images/thumb_image.jpg", 'wb');
              fwrite($f, $dst);
              fclose ($f);
              ?>

              das script erstellt jetzt zwar eine thumb_image.jpg datei, aber diese ist nur 14 bytes groß und läßt sich nicht öffen.

              Kommentar


              • #8
                hmmm ... füg hinter dem fwrite nochmal fflush($f); ein.
                Wenn das immer noch nix hilft, lass dir mal die Rückgabewerte von fopen, fwrite, fflush und fclose ausgeben.
                mein Sport: mein Frühstück: meine Arbeit:

                Sämtliche Code-Schnipsel sind im Allgemeinen nicht getestet und werden ohne Gewähr auf Fehlerfreiheit und Korrektheit gepostet.

                Kommentar


                • #9
                  ...*grmpf*...auch ein fflush(f$); hilft leider nicht :-((

                  was für rückgabe werte soll ich mir geben lassen ???? wie macht man sowas ????

                  Kommentar


                  • #10
                    ...kann ich das bild nicht auch irgendwie mit dem @copy befehl abspeichern ???

                    Kommentar


                    • #11
                      Original geschrieben von cyberbob
                      was für rückgabe werte soll ich mir geben lassen ???? wie macht man sowas ????
                      echo 'fopen: ', ($f = fopen(...)), '<br>';
                      echo 'fwrite: ', fputs(...), '<br>';
                      echo 'fflush: ', fflush($f), '<br>';
                      echo 'fclose: ', fclose($f), '<br>';

                      ...kann ich das bild nicht auch irgendwie mit dem @copy befehl abspeichern ???
                      Im Prinzip ja, aber dafür müßtest du das Thumbnail schon als Datei vorliegen haben - und eben das funktioniert bisher noch nicht.
                      mein Sport: mein Frühstück: meine Arbeit:

                      Sämtliche Code-Schnipsel sind im Allgemeinen nicht getestet und werden ohne Gewähr auf Fehlerfreiheit und Korrektheit gepostet.

                      Kommentar


                      • #12

                        das sind die rückgabe werte !? kann man damit etwas anfangen ???


                        fopen: Resource id #4
                        fwrite: 14
                        fflush: 1
                        fclose: 1

                        Kommentar


                        • #13
                          und das ist der komplette quelltext:


                          <?php
                          // Thumbnailgenerator
                          $imgpath = "images/image.jpg";
                          $log = "";
                          $src = imagecreatefromjpeg($imgpath);
                          $src_b = imagesx($src);
                          $src_h = imagesy($src);
                          if (!isset($neue_b)) { $neue_b = 50; }
                          if (!isset($neue_h)) { $neue_h = 50; }
                          $dst = imagecreate($neue_b, $neue_h);
                          imagecopyresized($dst, $src, 0, 0, 0, 0, $neue_b, $neue_h, $src_b, $src_h);
                          $f = fopen ("images/thumb_image.jpg", 'wb');
                          fwrite($f, $dst);
                          fflush($f);
                          fclose ($f);
                          echo 'fopen: ', ($f = fopen("images/thumb_image.jpg", 'wb')), '<br>';
                          echo 'fwrite: ', fputs($f, $dst), '<br>';
                          echo 'fflush: ', fflush($f), '<br>';
                          echo 'fclose: ', fclose($f), '<br>';

                          ?>

                          Kommentar


                          • #14
                            kann denn keiner helfen ???

                            es kann doch eigentlcih nicht soooo schwer sein, dieses bild zu speichern !?

                            Kommentar


                            • #15
                              hmm ... also, den thumbnail anzuzeigen funktioniert ja, also muss der Fehler im fputs liegen. Nochmal ins Handbuch geschaut ...
                              Versuch´s mal mit fwrite(stripslashes($dst)), und wenn das nicht funktioniert, dann mit fwrite(addslashes($dst)).

                              PS: Ich vermute mal, dass strlen($dst) größer als 14 ist ...
                              mein Sport: mein Frühstück: meine Arbeit:

                              Sämtliche Code-Schnipsel sind im Allgemeinen nicht getestet und werden ohne Gewähr auf Fehlerfreiheit und Korrektheit gepostet.

                              Kommentar

                              Lädt...
                              X