Automatische Thumbnail-Generierung (GD) vs. Thumbnails beim Uploaden erstellen lassen

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

  • Automatische Thumbnail-Generierung (GD) vs. Thumbnails beim Uploaden erstellen lassen

    hallo,

    ich habe hier im Forum gesucht, jedoch habe ich immer nur Threads gefunden, die sich nach dem WIE beschäftigen, aber nicht nach dem OB.

    Ich plane eine Bilder-Galerie mit sehr vielen Bildern, die auch häufig aufgerufen werden. Pro Galerie 8 Bilder, also 8 Thumbs.

    Momentan habe ich die Thumbnail-Generierung per Laufzeit (GD) drinnen, aber ich habe das Gefühl, dass das viel langsamer ist, als wenn ich beim Uploaden der Bilder Thumbnails erstellen würde und diese dann als jpg auf dem Server abspeichere.


    Wie handhabt ihr das bei etwas größeren Projekten?
    Ich denke, da die Bilder ja sehr oft aufgerufen werden, lohnt sich die anfängliche, einmalige Erstellung der Thumbnails, oder denke ich falsch?

    Danke für eure Anregungen.

  • #2
    Lohnt sich auf jeden Fall! Die Daten müssen eh an den Client gesendet werden. Du ersparst dir dadurch aber das erneute Berechnen der Bilder!

    Kommentar


    • #3
      Unbedingt am Anfang erstellen.

      Kommentar


      • #4
        Thumbnails von sich nicht veränderden Bildern bei der Laufzeit zu erstellen ist generell nie sinnvoll, was hast du denn davon?! Das muss doch trotzdem irgendwo auf dem Server abgelegt werden, wenn auch notfalls im Arbeitsspeicher.
        Nur wenige wissen, wieviel man wissen muss, um zu wissen, wie wenig man weiß.

        Kommentar


        • #5
          stimmt, das leuchtet mir vollkommen ein.

          danke für eure ratschläge!

          Kommentar


          • #6
            hmm, jetzt ist glatt das nächste Problem aufgetaucht.
            Da ich CHMOD 777 vermeiden möchte, versuche ich nur mit ftp() zu arbeiten.
            Aber ich bekomme es nicht hin mit imagejpeg() etwas auf einen ftp zu laden.
            Geht das überhaupt mit den PHP hauseigenen Mitteln?

            Kommentar


            • #7
              Hmm. Mit imagejpeg() aufs Filesystem und von dort dann via FTP weiter?

              Kommentar


              • #8
                Du kannst chmod 0777 auch vermeiden ohne per FTP zu arbeiten.
                Nur wenige wissen, wieviel man wissen muss, um zu wissen, wie wenig man weiß.

                Kommentar


                • #9
                  arsen: wie mache ich das denn? es hat nur mit CHMOD 777 funktioniert.
                  ich müsste dem script wohl eine gruppe zuweisen, um mit dem CHMOD runterzugehen, aber ich weiß nicht wie ich das mache.

                  ich habe das mal mit dem filesystem probiert:

                  PHP-Code:
                  ob_start();

                  ImageJPEG($thumb_neu);
                  $image_buffer ob_get_contents();
                  ob_end_clean();
                  imagedestroy($thumb_alt);
                  ImageDestroy($thumb_neu);

                  $tempdatei tmpfile();
                  fwrite($tempdatei$image_buffer);
                  rewind($tempdatei); 
                  und dann schiebe ich $tempdatei per ftp() auf den server, dann kommt allerdings diese fehlermeldung:

                  Warning: ftp_put() expects parameter 3 to be string, resource given in PFAD on line 79

                  Parameter 3 ist $tempdatei.

                  Habe ich da vielleicht irgendwas falsch gemacht? habe das irgendwo bei den Kommentaren bei php.net gefunden.

                  *edit*: server ist linux.
                  Zuletzt geändert von naitsab; 19.11.2007, 19:50.

                  Kommentar


                  • #10
                    Tempdatei ist ein Dateizeiger. Du brauchst einen String (Den Dateinamen).

                    Kommentar


                    • #11
                      hmm, wie komme ich denn an den ran?
                      sollte ich die datei eher mit tempnam() erstellen?


                      sorry, dass ich so viele fragen dazu stelle. habe wenig bis gar keine ahnung vom filesystem. wo kann man sich denn dazu gut reinlesen?

                      Kommentar


                      • #12
                        Im Manual!

                        Wie kann es sein, daß Du einen Dateizeiger hast, wenn du seinen Namen nicht kennst? Wann wird $tempdatei geöffnet?

                        Kommentar


                        • #13
                          ich öffne $tempdatei gar nicht.
                          alles was oben steht und danach habe ich einfach noch meine ftp funktion:
                          ftp_put($conn_id, "neuer_dateiname.jpg", $tempdatei, FTP_BINARY);

                          Kommentar


                          • #14
                            also ich habe jetzt:

                            PHP-Code:
                            $tmpfname tempnam("/tmp""FOO");

                            $handle fopen($tmpfname"w");
                            fwrite($handle$image_buffer);
                            fclose($handle); 
                            und $tmpfname lade ich dann hoch und es klappt!

                            allerdings ist mir nicht ganz klar für was "FOO" steht, was bedeutet denn string prefix?

                            Kommentar


                            • #15
                              Original geschrieben von naitsab
                              allerdings ist mir nicht ganz klar für was "FOO" steht, was bedeutet denn string prefix?
                              FOO ist in dem Fall der Dateiname.


                              Aus dem PHP Manual:

                              In 5.2.2:
                              $file=tempnam('tmpdownload', 'Ergebnis_'.date(Y.m.d).'_').'.pdf';
                              echo $file;
                              tmpdownload/Ergebnis_20071004_xTfKzz.pdf

                              In 5.2.4:
                              $file=tempnam('tmpdownload', 'Ergebnis_'.date(Y.m.d).'_').'.pdf';
                              echo $file;
                              /var/www/html/tmpdownload/Ergebnis_20071004_Xbn6PY.pdf

                              Kommentar

                              Lädt...
                              X