thumbnailscript

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

  • thumbnailscript

    hi ich brauche ein script was einfach alle bilder die in einem bestimmten ordner (änderbare url) sind als thumbnails untereinander anzeigt und wenn ich auf ein thumbnail klicke soll sich das bild in einem neuen fenster öffnen kennt einer von euch so ein script oder kann so etwas schriebn?
    danke schonmal im voraus
    gruß alex

  • #2
    Habe gerade nix sonstiges zu tun
    PHP-Code:
    //auszulesender Ordner
    $ordner '/pfad/vom/DocRoot/aus';
    //Suffix für die Thumbs
    $suffix '_small';
    //maximale Abmessungen
    $width 200;
    $height 200;

    foreach(
    glob($_SERVER['DOCUMENT_ROOT'].$ordner.'/*.jpg') as $wert){
        list(
    $width_orig$height_orig) = getimagesize($wert);
        
    $ratio_orig $width_orig/$height_orig;
        
    //Zielgrössen des Thumbs bestimmen
        
    if ($width/$height $ratio_orig) {
           
    $width $height*$ratio_orig;
        } else {
           
    $height $width/$ratio_orig;
        }
        
    //Img Ressource für Thumb
        
    $image_p imagecreatetruecolor($width$height);
        
    //Img Ressource vom Original
        
    $image imagecreatefromjpeg($wert);
        
    imagecopyresampled($image_p$image0000$width$height$width_orig$height_orig);
        
    //Thumbs im selber Ordner wie Original speichern
        
    imagejpeg($image_pstr_replace('.jpg',$suffix.'.jpg',$wert), 100);
        
    //Ausgabe des Thumbs in HTML
        
    echo '<a href="'.$ordner.'/'.basename($wert).'">
        <img src="'
    .$ordner.'/'.basename(str_replace('.jpg',$suffix.'.jpg',$wert)).'" /><br />';

    So müsste dat funzen. Ich übernehme aber keine Garantie/Support für den Code

    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
      ja danke super, aber eine frage hab ich noch kann man es so machen, dass man den zielordner durch den link durch den man auf die php datei gekommen ist, bestimmen kann. ach ja und geht das auch mit einem externen ordner?
      gruß alex

      edit: kann man auch den suffix vor den namen des bilds machen?
      Zuletzt geändert von devil2501; 16.12.2006, 13:31.

      Kommentar


      • #4
        kann man es so machen, dass man den zielordner durch den link durch den man auf die php datei gekommen ist, bestimmen kann.
        ja, einfach über $_GET ins Script holen. Ist aber unter umständen nicht ganz so sicher, wenn man es nicht absichert, komme ich in alle Ordner rein.

        ach ja und geht das auch mit einem externen ordner
        ganz sicher nicht! (höchstens mit anpassung auf directory list)
        edit: kann man auch den suffix vor den namen des bilds machen?
        Dann wärs n Präfix!

        Kommentar


        • #5
          ja danke aber wie verändert sich der code dann mit dem "$_get" und statt dem suffix mit einem präfix kann mir das jemand nochmal schreiben wie das dann aussieht?
          gruß alex

          Kommentar


          • #6
            ja danke aber wie verändert sich der code dann mit dem "$_get" und statt dem suffix mit einem präfix kann mir das jemand nochmal schreiben wie
            PHP-Code:
            //mittels GET muss man ein wenig mehr absichern
            //also zuerst die erlaubten Ordner und testen ob $_GET erlaubt ist
            $ordner = array();
            $ordner[] = 'bilder';
            $ordner[] = 'pics';
            if(!
            in_array($_GET['ordner'],$ordner)){
                die(
            'Und raus du Script Kiddie');
            }
            //Pfad immer noch vom DocRoot aus
            $ordner '/'.$_GET['ordner'];
            //Und jetzt die Präfix Sache
            $praefix 'small_';
            [...]
            imagejpeg($image_p,$praefix.$wert100); 
            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


            • #7
              gut danke und was verändere ich dann am link um einen anderen ordner zu wählen?

              Kommentar


              • #8
                sorry ich weiß ich hab große vorstellungen und keine ahnung aber kannst du mir das nicht in eine php datei schreiben und mir per mail schicken?
                meine e-mail addy ist a.schlosser@wischsoft.de

                Kommentar


                • #9
                  OffTopic:
                  seine Kontonummer kennst du?

                  Kommentar


                  • #10
                    seine Kontonummer kennst du?
                    OffTopic:

                    Nehme auch Zahlungen via PayPal und Cash entgegen.
                    Konto: 80-5847-545A
                    Credit Suisse Grand Cayman
                    z.G. Jahlives Holding Trust Ltd, Lichtenstein



                    @topicstarter
                    Erwarte bitte nicht, dass ich dir fertigen Code schreibe. Sag mir ganz konkret was dein Problem ist und versuche vllt auch mal selbstständig und durch Lektüre des Manuals dein Problem zu lösen. Du hast ja den Ordner bereits in $_GET['ordner']. Du musst also nur jeweils einen anderen Wert bei ordner übertragen
                    z.B.
                    Code:
                    <a href="deinBilderScript.php?ordner=wasAuchImmerDuWillst">ClickMe</a>
                    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


                    • #11
                      ja ok is ja gut funktioniert auch nur er lädt nicht die thumbnailsweil er das präfix an den anfang des pfades setzt und nicht an den anfang der datei, er zeigt folgende fehlermeldung an:

                      Warning: imagejpeg(): Unable to open 'tn_/home/www/web297/html/test/tn_test_004.jpg' for writing in /home/www/web297/html/test.php on line 25
                      was kann man da machen

                      Kommentar


                      • #12
                        was kann man da machen
                        Sorry mein Fehler, habe bei meinem Korrekturvorschlage vergessen, dass $wert den gesamten Pfad des Bildes enthält...
                        Also musst du aus dieser Pfadangabe den Pfad und den Dateinamen heraustrennen.
                        PHP-Code:
                        $pfad substr($wert,0,strripos($wert,'/')+1);
                        imagejpeg($image_p,$pfad.$praefix.basename($wert), 100); 
                        Funzt es denn so ?

                        Gruss

                        tobi

                        p.s. diese Version wird nur mit PHP5 laufen (wegen strripos()) !
                        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


                        • #13
                          php 5 unterstüzt mein webspace leider nicht gibt es da nicht eine andere lösung?
                          gruß alex

                          edit: Hallo noch jemand da???
                          Zuletzt geändert von devil2501; 26.12.2006, 10:53.

                          Kommentar


                          • #14
                            was hat das mit php 5 zu tun?

                            Und so wie es aussieht solltest du dir Grundwissen aneignen.

                            Oder du suchst dir jemand der es dir macht.
                            Bzw deinem Programm. :-/

                            Hier laufen genug davon umher.
                            Gut geraten ist halb gewußt.

                            Kommentar


                            • #15
                              s. jahlives post: strripos

                              Kommentar

                              Lädt...
                              X