include Fehler Warum????

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

  • include Fehler Warum????

    Hi,
    habe ein total einfaches und gutes Gallerie Script gefunden. Nun habe ich aber folgendes Problem:

    das ist die index.php, sie liegt im Verzeichnis galleries

    PHP-Code:

    <?
    /*
    $docRoot wird mit dem Wert von DOCUMENT_ROOT
    (zu finden in der Ausgabe der PHPInfo) zuzüglich des Galerie-Hauptverzeichnisses belegt
    */
    $docRoot="myServer/wwwdocs/galleries";
    $dirStructur=opendir($docRoot);
    $eintrag=readdir($dirStructur);

    //////die Select-Box wird erzeugt
    echo "<form action=\"index.php?op=choose\" method=\"post\">";
    echo "<select name=\"verzeichnis\">";
    while($eintrag){
       if(is_dir($eintrag)&& $eintrag !== "."
          && $eintrag !== ".."
          && eregi("thumbs", $eintrag))
          echo "<option value=\"$eintrag\">"
                .substr($eintrag,0,-6);
       $eintrag=readdir($dirStructur);
    }
    closedir($dirStructur);
    echo "</select>";
    echo "<input type=\"Submit\" value=\"Galerie auswählen\">";
    echo "</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){
          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();
    ?>

    und hier die showimg.php, sie liegt im selben Verzeichnis

    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\">";
       echo "<table>";
       echo "<tr>";
       echo "<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 Gallerie</a> ".$anchorNext."nächstes Bild".$anchorNextClose."<br>";
       //ende navigatione oben

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

       //anfang navigation unten
       echo $anchorPrev."vorheriges Bild".$anchorPrevClose." <a href=\"index.php?op=choose&verzeichnis=".$verz."thumbs\">Zurück zur Gallerie</a> ".$anchorNext."nächstes Bild".$anchorNextClose;
       //ende navigatione unten
       echo "</div>";
       echo "<br></td>";
       echo "</tr>";
       echo "</table>";
       echo "</div>";
    ?>
    Mein Problem ist nun das ich die index.php in meine Startseite include.
    Dann ist natürlich das Problem, daß sich die Verzeichnisstruktur ändert. kann man die irgendwie anpassen?
    Die Dateien lesen die Bilder aus den einzelnen Bildordnern aus. Wenn ich die Index.php in meine Startseite include muß ich natürlich auch noch die ganzen Pfade anpassen, hab aber absolut keine Ahnung wie ich das machen soll.

    Sorry für ganzen Quellcode.
    Zuletzt geändert von Holstenjungs; 29.06.2004, 23:51.
    Holstenjungs
    HAW-Forum
    TOP-Downline

  • #2
    daß sich die Verzeichnisstruktur ändert. kann man die irgendwie anpassen?
    liest du denn den Code nicht? Manchmal sind die Code-Kommentare auch sehr hilfreich, denn am Anfang steht:

    PHP-Code:
     /*
    $docRoot wird mit dem Wert von DOCUMENT_ROOT
    (zu finden in der Ausgabe der PHPInfo) zuzüglich des Galerie-Hauptverzeichnisses belegt
    */ 
    also such mal im Manual nach dem Wort: DOCUMENT_ROOT

    Kommentar


    • #3
      Hi,
      ich weiß das man dort das Verzeichnis angeben muß, aber es wird trotzdem noch eine Fehlermeldung ausgegeben:

      Call to a member function on a non-object in /usr/../../../hosting/holstenjungs/index1.php on line 68

      In Line 68 steht:

      PHP-Code:
      while(($file $mydir->read()) != false) {... 
      Das heißt also, daß er das Verzeichnis nicht öffnen kann. Da ich die Index.php include liegt sie natürlich nicht in dem Verzeichnis wo die Bildordner liegen.
      Also muß ich irgendwo das Verzeichnis angeben, wo die Dateien liegen.

      Ich möchte nun gerne wissen wie ich den Verweis auf das Verzeichnis "galleries" mache.
      Holstenjungs
      HAW-Forum
      TOP-Downline

      Kommentar

      Lädt...
      X