Problem mit Thumnails Script.

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

  • Problem mit Thumnails Script.

    Hallo, ich habe folgendes Script, was auch funktioniert solange in der Datenbank nur ein Eintrag ist, sobald zwei Einträge in der Datenbank sind, wird weiterhin nur das erste Bild/thumnail angezeigt und es kommt folgende Fehlermeldung:
    Fatal error: Cannot redeclare thumb_popup() (previously declared in /www/htdocs/v109937/media/snapshots.php:67) in /www/htdocs/v109937/media/snapshots.php on line 67

    Line 67 ist folgende:

    PHP-Code:
    function thumb_popup($file$save$width$height$prop TRUE) { 

    Der PHP Code ist folgender:

    PHP-Code:
    <?php
    include("admin/dbconnect.php");
    include(
    "admin/config.php");      

    $result mysql_query("SELECT id, foto FROM $tablemedia WHERE
    kategorie = 'snapshot' ORDER BY id"
    ) or die(mysql_error());

    while(
    $row mysql_fetch_array($result))
    {

    function 
    thumb_popup($file$save$width$height$prop TRUE) {
        
    // Requires GD-Lib > 2.0
        // Ist $prop=TRUE, so werden die Proportionen des Bildes
        // auch im Thumbnail eingehalten

        
    if(!function_exists("show_popup")) {
            function 
    show_popup($original$thumb) {
                
    $infos = @getimagesize($original);
                
    $w $infos[0] + 20;
                
    $h $infos[1] + 25;
                
    $infos_th = @getimagesize($thumb);
                
    $link  "<a href=\"javascript:void(0);\" onclick=\"window.open
    ('"
    .$original."', 'window".md5(microtime())."', 'toolbars=0, scrollbars=0, location=0, statusbars=0, menubars=0, 
    resizable=1, width="
    .$w.", height=".$h.", left = 20, top = 20');\">";
                
    $link .= "<img src=\"".$thumb."\" border=\"0\" ".$infos_th[3]."></a>\n";
                return 
    $link;
            }
        }
        if(!
    file_exists($save) || @filemtime($thumb)< @filemtime($file)) {
            @
    unlink($save);
            
    $infos = @getimagesize($file);
            if(
    $prop) {
                
    // Proportionen erhalten
                
    $iWidth $infos[0];
                
    $iHeight $infos[1];
                
    $iRatioW $width $iWidth;
                
    $iRatioH $height $iHeight;
                if (
    $iRatioW $iRatioH)
                {
                
    $iNewW $iWidth $iRatioW;
                
    $iNewH $iHeight $iRatioW;
                } else {
                
    $iNewW $iWidth $iRatioH;
                
    $iNewH $iHeight $iRatioH;
                } 
    // end if
            
    } else {
                
    // Strecken und Stauchen auf Größe
                
    $iNewW $width;
                
    $iNewH $height;
            }

            if(
    $infos[2] == 2) {
                
    // Bild ist vom Typ jpg
                
    $imgA imagecreatefromjpeg($file);
                
    $imgB imagecreatetruecolor($iNewW,$iNewH);
                
    imagecopyresampled($imgB$imgA0000$iNewW,
                                   
    $iNewH$infos[0], $infos[1]);
                
    imagejpeg($imgB$save);
                return 
    show_popup($file$save);
            } elseif(
    $infos[2] == 3) {
                
    // Bild ist vom Typ png
                
    $imgA imagecreatefrompng($file);
                
    $imgB imagecreatetruecolor($iNewW$iNewH);
                
    imagecopyresampled($imgB$imgA0000$iNewW,
                                   
    $iNewH$infos[0], $infos[1]);
                
    imagepng($imgB$save);
                return 
    show_popup($file$save);
            } else {
                return 
    FALSE;
            }
        } else {
            return 
    show_popup($file$save);
        }
    }
    // Quelldatei

    $from "./".$row['foto'];
    // Ziel 1+2
    $to1 "./th/".$row['foto'];
    //$to2 = "./th/thumb_b.jpg";

    // Funktionsaufruf mit Einbehaltung der Proportionen
    echo thumb_popup($from$to18080TRUE);
    // Funktionsaufruf ohne Einbehaltung der Proportionen
    //echo thumb_popup($from, $to2, 150, 150, FALSE);

    $i++;           // setzt $i bei jedem bild um 1 höher

    if ($i>4
    {
    echo 
    "<br>"// wenn mehr als 4 bilder in einer zeile sind gibt es ein zeilenumbruch
    $i=0;         // setzt $i wieder auf 0
    }
    }
    ?>
    Kann mir da einer weiterhelfen?
    Zuletzt geändert von manuelone; 19.10.2004, 22:32.

  • #2
    Deklariere die Funktion "thumb_popup()" einfach ausserhalb der while-Schleife ... das sollte helfen ...
    carpe noctem

    [color=blue]Bitte keine Fragen per EMail ... im Forum haben alle was davon ... und ich beantworte EMail-Fragen von Foren-Mitgliedern in der Regel eh nicht![/color]
    [color=red]Hinweis: Ich bin weder Mitglied noch Angestellter von ebiz-consult! Alles was ich hier von mir gebe tue ich in eigener Verantwortung![/color]

    Kommentar


    • #3
      wenn ich das mache dann kommen weder das eine noch das andere bild/thumnail und auch keine fehlermeldung, also ich habe folgendes aus der while schleife genommen:

      PHP-Code:
          if(!function_exists("show_popup")) {
              function 
      show_popup($original$thumb) {
                  
      $infos = @getimagesize($original);
                  
      $w $infos[0] + 20;
                  
      $h $infos[1] + 25;
                  
      $infos_th = @getimagesize($thumb);
                  
      $link  "<a href=\"javascript:void(0);\" onclick=\"window.open('".$original."', 'window".md5(microtime())."', 'toolbars=0, scrollbars=0, location=0, statusbars=0, menubars=0, 
      resizable=1, width="
      .$w.", height=".$h.",
       left = 20, top = 20');\">"
      ;
                  
      $link .= "<img src=\"".$thumb."\" border=\"0\" ".$infos_th[3]."></a>\n";
                  return 
      $link;
              }
          } 
      Zuletzt geändert von manuelone; 19.10.2004, 22:32.

      Kommentar


      • #4
        Original geschrieben von manuelone
        also ich habe folgendes aus der while schleife genommen: [...]
        na dann hast du ja, wie's scheint, goths antwort wunderbar genau gelesen ...


        btw: füge bitte mal ein paar umbrüche in deine code ein, damit man nicht meterweit querscrollen muss!
        I don't believe in rebirth. Actually, I never did in my whole lives.

        Kommentar


        • #5
          dein beitrag hat mir jetzt net wirklich weitergeholfen...

          Kommentar


          • #6
            hmm, kann mir da keiner helfen?

            Kommentar


            • #7
              nimm die funktions-deklarationen aus der schleife!

              you cannot redeclare function thumb_popup() cause it was previously declared in /www/htdocs/v109937/media/snapshot ...

              got it?

              du mußt die posts schon lesen, sonst hat hier bestimmt keiner lust, dir zu helfen. und den code wolltest du auch umbrechen.
              Die Zeit hat ihre Kinder längst gefressen

              Kommentar


              • #8
                sorry check ich irgendwie gerade net so, meint ihr das kompl. ding oder was? könnt ihr net mal den teil mir posten. wäre super nett.

                Kommentar


                • #9
                  Du weisst Du ne, probier's einfach aus Du ... vielleicht reicht es ja auch wenn Du ein paar Zeilen rausnimmst ... ne ...

                  VERDAMMT NOCHMAL, KLAR DAS KOMPLETTE DING ... !!!!!!

                  WAS BITTE IST AN DEM SATZ: "you cannot redeclare function thumb_popup() cause it was previously declared" SO SCHWER ZU VERSTEHEN DAS DU 22 STUNDEN DESWEGEN RUMZETERN MUSST ... UND SCHEINBAR IMMER NOCH NICHTS BEGRIFFEN HAST ... !?!?!?!?!?!?!?!
                  Zuletzt geändert von goth; 19.10.2004, 23:34.
                  carpe noctem

                  [color=blue]Bitte keine Fragen per EMail ... im Forum haben alle was davon ... und ich beantworte EMail-Fragen von Foren-Mitgliedern in der Regel eh nicht![/color]
                  [color=red]Hinweis: Ich bin weder Mitglied noch Angestellter von ebiz-consult! Alles was ich hier von mir gebe tue ich in eigener Verantwortung![/color]

                  Kommentar


                  • #10
                    danke klappt. nicht jeder kann das so gut wie du :=)

                    Kommentar


                    • #11
                      Das ist mir klar ... deshalb bin ich ja auch ich ...
                      carpe noctem

                      [color=blue]Bitte keine Fragen per EMail ... im Forum haben alle was davon ... und ich beantworte EMail-Fragen von Foren-Mitgliedern in der Regel eh nicht![/color]
                      [color=red]Hinweis: Ich bin weder Mitglied noch Angestellter von ebiz-consult! Alles was ich hier von mir gebe tue ich in eigener Verantwortung![/color]

                      Kommentar

                      Lädt...
                      X