Problem mit einer Bildergalerie

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

  • Problem mit einer Bildergalerie

    Hallo zusammen, nachdem ich einen Umzug meines Webspaces vollzogen habe, habe ich ein Problem mit dem von mir verwendeten Galerie Script. Da der Entwickler keinen Support gibt (zumindest meldet er sich seit Monaten nicht auf Anfragen) und ich das Problem nicht zu lokalisieren vermag, dachte ich, ich wende mich mal an die Forenmitglieder und frage um Rat. Das Script verursacht beim Ausführen folgende Fehlermeldung:

    Fatal error: Call to a member function on a non-object in /home/g/gandalf/public_html/galleries/showimg.php on line 5

    Das Script selbst liegt auf http://www.gandalfthegrey.de/galleries/index.php

    Der Quelltext lautet:

    index.php
    PHP-Code:
    <?php
    // $docRoot wird mit dem Wert von DOCUMENT_ROOT (zu finden in der Ausgabe der PHPInfo) zuzüglich des Galerie-Hauptverzeichnisses belegt
    $docRoot = ("/home/g/gandalf/public_html/galleries");
    $dirStructur opendir($docRoot); 

    echo 
    "<form action=\"index.php?op=choose\" method=\"post\"><select name=\"verzeichnis\">"

    //////Anfang der Select-Box 
    $i 0;

    /* Array mit Verzeichnissen einlesen */
    while ( $eintrag readdir $dirStructur ) )
    {  
        
    $dirs[$i] = $eintrag;
        
    $i++;
    }

    /* Array sortieren */
    sort($dirs);

    /* Array durchlaufen */
    foreach ($dirs as $eintrag)
    {
    if ( 
    is_dir($eintrag )
           && 
    $eintrag != "." 
          
    && $eintrag != ".." 
          
    && eregi("thumbs"$eintrag)
          ) 
          echo 
    "<option value=\"$eintrag\">".substr($eintrag0, -6); 
     }

    closedir($dirStructur); 

    echo 
    "</select><input type=\"Submit\" value=\"Gallerie auswählen\"></form>";

    //////Ende der Select-Box 

    /* 
    mit der folgenden Bedingung wird geprüft, ob die Seite 
    erstmalig aufgerufen wird, damit sofort eine 
    Thumbnailvorschau gezeigt wird 
    */ 
    if(!isset($op)){ 
       
    $dirStructur=opendir($docRoot); 
       
    $eintrag=readdir($dirStructur); 
       while ( 
    $eintrag readdir $dirStructur ) )

        
    $dirs[$i] = $eintrag;
        
    $i++;
    }

    /* Array sortieren */
    sort($dirs);

    /* Array durchlaufen */
    foreach ($dirs as $eintrag)
    {
    if ( 
    is_dir($eintrag )
           && 
    $eintrag != "." 
          
    && $eintrag != ".." 
          
    && eregi("thumbs"$eintrag)
          ){ 
             
    $verzeichnis=$eintrag
             break; 
          }else{ 
             
    $eintrag=readdir($dirStructur); 
          } 
       } 
       
    closedir($dirStructur); 

    ///////Ende dieser Abfrage 


    /* 
    Die folgende Ausgabe erzeugt den Galerie-Titel 
    (=Verzeichnisname des Thumbnailverzeichnisses ohne "thumbs") 
    */ 
    echo "<font face=\"VERDANA,ARIAL,HELVETICA\"><b>"
         
    substr($verzeichnis,0,-6)."</b></font><br>"
         
    "<font size=\"-2\" face=\"VERDANA,ARIAL,HELVETICA\">"
         
    "Zum Vergrößern auf das Bild klicken</font><br><br>"

    //////Jetzt wird die Tabelle mit den Thumbnails aufgebaut 
    $count 1
    $index=0
    $dirstring $verzeichnis."/"
    $mydir dir($verzeichnis); 

    echo 
    "<table border=0 cellpadding=0 cellspacing=10 "
         
    "style=border-collapse: collapse bordercolor=#111111 "
         
    "width=100%>"
    while((
    $file $mydir->read()) != false) { 
       if (
    $file != "." && $file != "..") { 
          if (
    $count == 1) { 
             
    $endRow="</tr>"
             
    $fstring substr("$file"0, -4); 
             
    $display "$dirstring"$file"
             echo 
    "<tr><td width=33% align=center>"
                  
    "<a href=\"./showimg.php?verz="
                  
    substr($verzeichnis,0,-6)."&bild="
                  
    substr($file,3)."&index=$index\">"
                  
    "<img border=\"1\" src=\"$display\"></a>"
                  
    "<font face=\"VERDANA,ARIAL,HELVETICA\""
                  
    "size=\"- 2\"><br>" 
                   
    .substr($fstring,3)."</font></td>"
             
    $count++; 
             
    $index++; 
          } 
          elseif (
    $count == 2) { 
             
    $fstring substr("$file"0, -4); 
             
    $display "$dirstring"$file"
             echo 
    "<td width=33% align=center><a 
                   href=\"./showimg.php?verz=" 
                   
    .substr($verzeichnis,0,-6)."&bild=" 
                   
    .substr($file,3)."&index=$index\"> 
                   <img border=\"1\" src=\"
    $display\"></a> 
                   <font face=\"VERDANA,ARIAL,HELVETICA\" 
                   size=\"- 2\"><br>" 
                   
    .substr($fstring,3)."</font></td>"
             
    $count++; 
             
    $index++; 
          } 
          elseif (
    $count == 3) { 
             
    $endRow=""
             
    $fstring substr("$file"0, -4); 
             
    $display "$dirstring"$file"
             echo 
    "<td width=33% align=center><a "
                  
    "href=\"./showimg.php?verz="
                  
    substr($verzeichnis,0,-6)."&bild="
                  
    substr($file,3)."&index=$index\">"
                  
    "<img border=\"1\" src=\"$display\"></a>"
                  
    "<font face=\"VERDANA,ARIAL,HELVETICA\""
                  
    "size=\"- 2\"><br>"
                  
    substr($fstring,3)."</font></td></tr>"
             
    $count 1
             
    $index++; 
          } 
       } 

    echo 
    "$endRow</table>"
    $mydir->close(); 
    ?>
    showimg.php
    PHP-Code:
    <?
    // die Dateinamen der Bilder werden in ein Array eingelesen 
       $galArray=array(); 
       $mydir = dir($verz); 
       while(($file = $mydir->read()) != false) { 
          if ($file != "." && $file != "..") { 
             $galArray[]=$file; 
          } 
       } 
       $mydir->close(); 

    // die Verweise für nächstes und vorheriges Bild werden erzeugt 
       $nextPic=$index+1; 
       $prevPic=$index-1; 
       $noPics= count($galArray); 
       if($nextPic >= $noPics){ 
          $anchorNext=""; 
          $anchorNextClose=""; 
       }else{ 
          $anchorNext="<a href=\"showimg.php?verz=".$verz. 
                      "&index=".$nextPic."&bild=". 
                      $galArray[$nextPic]."\">"; 
          $anchorNextClose="</a>"; 
       } 
       if($prevPic < 0){ 
          $anchorPrev=""; 
          $anchorPrevClose=""; 
       }else{ 
          $anchorPrev="<a href=\"showimg.php?verz=".$verz. 
                      "&index=".$prevPic."&bild=". 
                      $galArray[$prevPic]."\">"; 
          $anchorPrevClose="</a>"; 
       } 

    // Bild mit Navigationselementen wird angezeigt 
       echo "<div align=\"center\"><table><tr><td><div align=\"center\">"; 

    /* 
    die navigation wird 2x gezeigt, nämlich über und unter dem bild 
    will man sie nur einmal haben, muss eine der beiden 
    navigationen auskommentiert werden 
    */ 
       //anfang navigation oben 
       echo $anchorPrev."vorheriges Bild".$anchorPrevClose. 
            " <a href=\"index.php?op=choose&verzeichnis=". 
            $verz."thumbs\">Zurück zur Galerie</a>". 
            $anchorNext."nächstes Bild".$anchorNextClose."<br>"; 
       //ende navigatione oben 

       echo "<img src=\"$verz/$bild\" border=\"1\"><br>"; 

       //anfang navigation unten 
       echo $anchorPrev."vorheriges Bild".$anchorPrevClose. 
            " <a href=\"index.php?op=choose&verzeichnis=". 
            $verz."thumbs\">Zurück zur Galerie</a>". 
            $anchorNext."nächstes Bild".$anchorNextClose; 
       //ende navigatione unten 
       echo "</div><br></td></tr></table></div>"; 
    ?>
    Die Verzeichniss und Dateinamen der Bilder sowie der Thumbnails sind alle KLEIN geschrieben.

    Weitere Informationen über die Umgebung in der das Script läuft findet ihr unter http://gandalfthegrey.de/galleries/test.php

    Vorher lief das Script unter dieser Umgebung:
    http://nic-nac-project.de/~gandalf/test.php

    Wenn mir jemand helfen kann wäre das echt klasse. Ich komme einfach nicht weiter.

  • #2
    warum postest du den ganzen krempel, wenn in der showimg wahrscheinlich nur ein include() fehlt?
    Kissolino.com

    Kommentar


    • #3
      warum postest du den ganzen krempel, wenn in der showimg wahrscheinlich nur ein include() fehlt?
      Ähm sorry wenn ich jetzt zuviel gepostet habe (ihr könnt es bei bedarf gern kürzen) aber ich war der Meinung man sollte wenn schon dann alle Fakten posten. Wo ein include() fehlen soll weiß ich nicht. Ich habe an dem Quellcode nichts verändert und habe ihn von meinem alten Webspace übernommen. Das einzige was ich geändert habe ist der Doc Root in der index.php. Es kann ja nicht sein das ein Script das auf einem Space funktioniert auf einem anderen plötzlich aus unersichtlichen Gründen nicht mehr funktioniert.

      Kommentar


      • #4
        Original geschrieben von Gandalf_the_Grey
        Es kann ja nicht sein das ein Script das auf einem Space funktioniert auf einem anderen plötzlich aus unersichtlichen Gründen nicht mehr funktioniert.
        OffTopic:
        wo kommt eigentlich immer wieder diese blödsinnige argumentation her?

        betanken solche leute auch dieselfahrzeuge mit den benzin oder umgekehrt, und beschweren sich dann anschließend, "es kann doch nicht sein, dass mit diesem kraftstoff das eine auto problemlos gefahren ist und das andere nicht" ...?
        I don't believe in rebirth. Actually, I never did in my whole lives.

        Kommentar


        • #5
          Original geschrieben von wahsaga
          OffTopic:
          wo kommt eigentlich immer wieder diese blödsinnige argumentation her?

          betanken solche leute auch dieselfahrzeuge mit den benzin oder umgekehrt, und beschweren sich dann anschließend, "es kann doch nicht sein, dass mit diesem kraftstoff das eine auto problemlos gefahren ist und das andere nicht" ...?
          OffTopic:
          Hihi, toller Vergleich!


          Habe mir das Script nicht angeschaut, aber vielleicht hat es ja was mit
          register_globals zu tun.

          Kommentar


          • #6
            Fatal error: Call to a member function on a non-object in /home/g/gandalf/public_html/galleries/showimg.php on line 5
            preisfragen:
            - wo ist line 5?
            - was heisst das ^^ übersetzt?
            - wo ist die funktion read()?
            Kissolino.com

            Kommentar


            • #7
              Original geschrieben von Wurzel
              - wo ist die funktion read()?
              in der vordefinierten klasse dir definiert.

              vermutlich wird nur das anlegen der neuen objektinstanz von dir in der vorhergehenden zeile fehlgeschlagen sein (also vermutlich RG-problem, wie von Heini81 vermutet), so dass $mydir eben kein objekt enthält wie erwartet.
              I don't believe in rebirth. Actually, I never did in my whole lives.

              Kommentar


              • #8
                OffTopic:

                Und was ist daran falsch davon auszugehen zu wollen das ein PHP Script das sich gerühmt hat Plattformunabhänig zu sein auch auf einem anderen Server nach anpassen des nötigen Variablen (in diesem Fall der DocRoot Variablen) zum laufen zu bringen. Du gehst doch auch davon aus das du ein Auto (egal ob da ein Dieselmotor oder ein Benziner im Motorraum surrt) genauso mit dem Schlüssel gestartet wird wie andere Autos auch.


                Aber ja, ihr habt wohl recht, es scheint an den RG zu liegen. Werde mal sehen was ich da machen kann/werde. Danke für den Tritt in die richtige Richtung
                Zuletzt geändert von Gandalf_the_Grey; 05.01.2005, 11:56.

                Kommentar

                Lädt...
                X