Problem mit "Include"

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

  • Problem mit "Include"

    Erst einmal, bin leider ein absoluter Newbie auf dem Gebiet PHP, also bitte ein Bisschen Nachsicht haben auch wenn die Frage vielleicht sogar zu einfach ist. So jetzt aber zu meinem eigentlichen Problem:

    Ich habe für einen Freund ein Gallerie-System entworfen, sodass per opendir/readdir der jeweilige Ordner ausgelesen wird. Die, in diesem Ordner enthaltenen Unterordner werden als Links angezeigt, sodass man beim draufklicken in das Unterverzeichnis gelangt (Beispiel: Ordner galleries enhält Ordner 2002, 2003, 2004, die werden als Links angezeigt).
    Die eigentlichen Bilder sind mitsamt fertigen html-Gallerien in Unterordnern. Diese fertigen Gallerien sollen aber per "include" in das Layout integriert werden, doch die verarbeitende PHP-Datei liegt übergeordnet.
    Das Problem ist, dass beim PHP beim Includen ja denkt, dass die Gallerien im gleichen Ordner (also im Root-Ordner) liegen.

    PS: Hoffentlich könnt ihr das einigermaßen verstehen, ich kann auch noch ein Stück Code posten, wenn euch das weiterhilft.

  • #2
    Re: Problem mit "Include"

    Original geschrieben von SkillTill
    Das Problem ist, dass beim PHP beim Includen ja denkt, dass die Gallerien im gleichen Ordner (also im Root-Ordner) liegen.
    und wer hindert dich daran, den ordner, aus dem includet werden soll, mit anzugeben?

    himmel, dass ist aber wirklich eine absolute n00b-frage - vor der nächsten solchen beschäftige dich bitte ein bisschen mehr mit den grundlagen von dem, was du da tust.
    I don't believe in rebirth. Actually, I never did in my whole lives.

    Kommentar


    • #3
      Re: Re: Problem mit "Include"

      Original geschrieben von wahsaga
      himmel, dass ist aber wirklich eine absolute n00b-frage
      Erst einmal, bin leider ein absoluter Newbie auf dem Gebiet PHP, also bitte ein Bisschen Nachsicht haben
      Sei doch nicht so gemein zu ihm

      Trotzdem, deine Aussage beantowrtet seine Frage nciht, da er recht hat.

      Wennd u z.B. hast eine index.php:

      include ("test/test.php");

      und das ist die Test.php:

      <a href=test1/lol.php>lol</a>

      dann denkt ja die index.php, das der Ordner test1 im root verzeichnis liegt!
      Zuletzt geändert von davidovich; 03.06.2004, 15:17.

      Forumregeln!

      Gute PHP-(tutorial-)Seiten

      Kommentar


      • #4
        Tja, tut mir leid habe mich wahrscheinlich nicht ganz korrekt ausgedrückt, ich poste einfach mal ein Stück des Scripts damit ihr vielleicht nachvollziehen könnt, was das Problem ist.
        PHP-Code:
        switch($_GET['action']) { 
        default: 
        echo 
        "<a href='gallerie.php?action=show&id=ttt'><img src='images/ttt.gif' border=0></a>";
        break;
        case 
        "show":
           
        $verz opendir("galleries/$id"); 
           while (
        $jahr readdir ($verz)) { 
              if(
        $jahr != "." && $jahr != ".."
                 echo 
        "<a href='gallerie.php?action=showdir&id=$id&jahr=$jahr'>".$jahr.'</a><br>'
           } 
           
        closedir($verz);
           break;
        case 
        "showdir":
           
        $verz opendir("galleries/$id/$jahr"); 
           while (
        $file readdir ($verz)) { 
              if(
        $file != "." && $file != ".."
                 echo 
        "<a href='gallerie.php?action=gal&id=$id&jahr=$jahr&file=$file'>".$file.'</a><br>'
           } 
           
        closedir($verz);
           break;
        case 
        "gal":
        include(
        "galleries/$id/$jahr/$file/index.htm");

        So, erstmal oben, die $id ist "ttt" also wird der Ordner "ttt" ausgelesen, so geht das dann weiter bis der gewünschte pfad erreicht ist. Jetzt soll die entsprechende fertige html-Gallerie eingebungen werden, das funzt soweit aber die Bilder haben nur relative Angaben, sprich sie werden nicht angezeigt.

        Kommentar


        • #5
          Original geschrieben von SkillTill
          aber die Bilder haben nur relative Angaben, sprich sie werden nicht angezeigt.
          tja, dann musst du das wohl ändern.

          klar, wenn die galerie an sich im hauptverzeichnis eingebunden wird, und für die bilder keine pfade angegeben sind, dann werden die bilder dann auch im hauptverzeichnis vermutet - irgendwie logisch, oder?

          also entweder absolute pfade für die bilder nehmen (auch unsinnig), oder die bilder vom web root aus referenzieren, also mit führendem / und anschliessender pfadangabe.
          I don't believe in rebirth. Actually, I never did in my whole lives.

          Kommentar


          • #6
            Relative Angaben sind doch an sich in Ordnung - solange sie relativ zum aufrufenden PHP-Skript sind...

            Kommentar


            • #7
              Tja, ich glaube ich hab das ein bisschen sch... beschrieben, das Ganze verhält sich leider nicht so einfach.
              Die Gallerien wurden mit dem Arles Image Web Page Creator erstellt (tool um html-gallerien für bilder zu erstellen). Diese Bilder mitsamt den html files liegen in Unterverzeichnissen und da ich mir die Arbeit ersparen möchte, die Bildergallerien alle neu zu erstellen möchte ich sie per include() einbinden. Ich habe einfach mal den Link zur Testseite angehängt, dann könnt ihr euch das mal im konkreten Beispiel anschauen.
              Bedanke mich schonmal im Vorraus!

              Hier der Link

              PS: Um eventuelle Fragen zu beantworten, der Inhalt der Seite ist nicht von mir
              Zuletzt geändert von SkillTill; 07.06.2004, 15:04.

              Kommentar


              • #8
                Original geschrieben von SkillTill
                da ich mir die Arbeit ersparen möchte, die Bildergallerien alle neu zu erstellen möchte ich sie per include() einbinden.
                gerade dann wirst du sie wohl neu erstellen müssen, weil andernfalls - wie wir doch inzwischen wohl in aller nötigen deutlichkeit festgestellt haben - die pfade zu den bildern ja nicht stimmen.

                Ich habe einfach mal den Link zur Testseite angehängt
                tolle testseite - wenn schon die galerie-links selbst, z.b. http://www.skilltill.com/test/galler...0204/index.php, zu einem 404er führen, dann kann man darüber sehr gut weitere aussagen treffen ...
                I don't believe in rebirth. Actually, I never did in my whole lives.

                Kommentar


                • #9
                  Original geschrieben von SkillTill

                  Hier der Link
                  PS: Um eventuelle Fragen zu beantworten, der Inhalt der Seite ist nicht von mir
                  Klar kannst du net in der Gallery direkt die Bilder machen , klar kannst du schon aber das sieht nach nix aus wenn du dann oben die Ordner 2003 sowie 2004 noch hast. leg am besten eine html oder php datei an. da machst du dann einen iframe oder includest halt die seite bilder_2004.html/php und machst dann in den Bilder 2004 Ordner einfach einen Include.
                  Dann werden die Bilder auch sofort angezeigt. Warum so umständlich

                  PS:
                  Mein Text hört sich jetzt auch was umständlich an ist aber eigentlich ganz easy zu verstehen und durchzusetzen.
                  Kann aber auch sein das ich deine Frage net richtig verstanden habe denn ehrlich gesagt blicke ich net mehr so ganz durch

                  [zitat]von sH4mane
                  Du kannst auch alles so machen ;D hat mir grade ein Kollege gesagt
                  PHP-Code:
                  <?php 
                  $c
                  =0;

                  $pfad="./gb/";
                  $verz=opendir ($pfad); 
                  while (
                  $file=readdir($verz)) 

                      if (
                  filetype($pfad.$file)!="dir"
                      { 
                          
                  $c++; 
                          echo 
                  "$file<br>"
                      } 

                  closedir($verz); 
                  echo 
                  "<hr>Anzahl der Dateien: $c";
                  ?>
                  Zuletzt geändert von sH4maNe; 07.06.2004, 15:50.

                  Kommentar

                  Lädt...
                  X