problem beim einbinden einer gallerie...

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

  • problem beim einbinden einer gallerie...

    Hallihallo Leute...

    ich hoffe mal das ich hier ein paar PhP-Freaks finde die mir bei meinem (für mich scheinbar unlösbaren) Problem helfen können. Daher fange ich gleich mal an:

    Ich habe eine Gallerie gebaut, diese funktioniert als Standalone-lösung hervorragend. Siehe hier

    Jedoch nutzt mir das ganze nichts, da ich eine Seite mit Tabellen nach folgendem prinzip benutze:

    header
    menü
    inhalt (include)
    footer

    In dieser binde (include) ich die sachen wie in folgender textdatei ein:

    verlinkung

    Zu sehen ist das ganze hier:

    testseite

    Nun habe ich mehrere Probleme:

    1. ich bekomme partout die verlinkung nicht so hin das er mir die richtigen unterordner (die erstellten gallerien) anzeigt. diese befinden sich in "http://..../deb/content/gallery" .

    wie man sieht nimmt er hier immer den hauptordner der seite.

    2. findet er (wahrscheinlich als folge von 1.) den pfad der bilder nicht.

    könnt ihr mir helfen das ganze hinzubiegen???

    hier die restlichen dateien:

    verzeichnisse anzeigen

    thumbs anzeigen

    bilder anzeigen


    gruß
    karsten

  • #2
    Lass mich dir das ganze mal an einem kurzen Beispiel erläutern, erklären kann ich es im Moment schlecht..

    Außerdem habe ich keine Lust mir deinem Text oder Informationen die Ordnerstruktur anzuschauen, also erkläre ich dir das ganze möglichst abstrakt.



    Ordnerstruktur:

    images - Der Ordner mit den Bildern aus der Galerie
    - 1_1_2002 - Ein Unterordner mit den Bildern von 1.1.2002

    gallerie - Der Ordner mit deinen Gallerie Dateien
    - show.php - Die Datei zum anzeigen der Bilder

    index.php - Die Seite in dem du das Galeriescript einbinden willst


    Da sich require() und include() aber die Dateistruktur sehen, wie es die Datei sieht, in welche du das Gallerie Script eingebunden hast, verlinkst du auf den Ordner "images" eine Ebene tiefer, da vom Ordner "gallerie" aus, in welchem sich die Datei eigentlich befindet, die Bilder eine Ebene tiefer liegen.

    Lange Rede kurzer Sinn: Um das ganze zu verändern, musst du die Bilder einfach so verlinken, als wenn du alles aus der Datei index.php machst (was du technisch auch tust)..


    Floriam
    PHP Handbuch - MySQL Handbuch - PHP Einsteiger Tutorial - CSS Referenz - Browserunterstützung von CSS

    Kommentar


    • #3
      tja, das habe ich schon versucht mit den relativen pfaden. ich habe das script und die ordnerstruktur jetzt mal abgeändert und den pfad in einer variable gespeichert:

      PHP-Code:
      <?

      error_reporting(ALL);

      $pfad= ("./");
      echo "pfad zu den bildordnern: ";
      echo $pfad;
      echo "<br><br>";

      $hdl=opendir ($pfad);

      while ($res = readdir ($hdl)) {



      if (is_dir($res)){

      if($res != "." && $res != ".."){  



      echo "<br><a href=\"index.php?action=show&dir=" . $res . "\">$res</a>";

      }

      }

      }?>
      bei der momentanen pfadangabe liest er mir das hauptverzeichnis der seite aus: aktuell

      wenn ich dann jedoch /gallery/ oder gallery/ eingebe zeigt er gar nichts mehr. (habe den ordner gallery jetzt im hauptverzeichnis)

      langsam weiss ich echt nicht mehr weiter...

      Kommentar


      • #4
        1. Was soll denn error_reporting(ALL) sein, laut Manual gibt es die Konstante ALL nicht, sondern nur E_ALL

        2. Wenn du in der Datei index.php alle Dateien anzeigen lassen willst welche im aktuellen Verzeichnis sind, dann müsste er ja auch die index.php Datei anzeigen, oder hast du das Script Online geändert?

        3. Schreibe bitte nochmals deine Ordnerstruktur auf, eventuell erkenn ich dann den Fehler..
        PHP Handbuch - MySQL Handbuch - PHP Einsteiger Tutorial - CSS Referenz - Browserunterstützung von CSS

        Kommentar


        • #5
          is_dir() will die vollständige pfadangabe?
          Die Zeit hat ihre Kinder längst gefressen

          Kommentar


          • #6
            @der Hund
            das glaub ich kaum hier ein auszug aus der doku

            bool is_dir ( string filename)


            Gibt TRUE zurück, wenn der Dateiname existiert und es sich hierbei um ein Verzeichnis handelt. Ist filename ein relativer Dateiname, so wird er auch relativ zu dem aktuellen Verzeichnis geprüft.

            @corsanostra
            crospostings sind nicht lieb
            erklärt wurde es dir ja schon die frage ist ob dus gelesen hast...

            http://phpforum.de/forum/phpforum2_P...096150761.html
            PHP Code Schnipsel

            Kommentar


            • #7
              das glaub ich kaum hier ein auszug aus der doku
              und woher weiß is_dir() dann, daß sich $res im verzeichnis $pfad befindet und es demzufolge überprüfen soll, ob $pfad/$res ne dir ist und nicht $res?
              Die Zeit hat ihre Kinder längst gefressen

              Kommentar


              • #8
                crossposting hin oder her... das problem besteht immer noch, wenn auch in abgeänderter form:

                wie gesagt, der ordner gallery befindet sich jetzt im hauptverzeichnis der seite. wenn ich nun mein verzeichnis-anzeigescript laufen lasse, werden mir auch ordner angezeigt, natürlich die aus dem hauptordner (verzeichnisangabe "./" )

                wenn ich nun den pfad ändere, zeigt er mir nichts mehr an. habe auch ein anderes auslesescript probiert, welches alle dateien in einem ordner anzeigt. und siehe da, er listet alles auf. nur mit dem unterschied das er die darin befindlichen ordner nicht als solche erkennt.

                PHP-Code:
                 <?php

                $Pfad 
                = ("./gallery/");

                 if(
                $Verzeichniszeiger=opendir($Pfad))
                 {
                     while(
                $Datei=readdir($Verzeichniszeiger))
                     {
                         if (
                $Datei!="." && $Datei!="..")
                         {
                             if(
                is_dir($Datei))
                             {
                                 echo
                "<font color=\"red\">";
                             }
                             echo
                $Datei,
                                 
                "<br>";
                             if(
                is_dir($Datei))
                             {
                                 echo
                "</font>";
                             }
                         }
                     }
                     
                closedir($Verzeichniszeiger);
                 }  

                 
                ?>
                dieses script listet dateien auf und markiert ordner in rot. im hauptverzeichnis funktionierts, aber im unterverzeichnis nicht mehr. da werden die ordner auch normal weiss dargestellt. liegt es evtl. an der verzeichnistiefe das dies nicht klappt?

                Kommentar


                • #9
                  Original geschrieben von corsanostra
                  im hauptverzeichnis funktionierts, aber im unterverzeichnis nicht mehr. da werden die ordner auch normal weiss dargestellt. liegt es evtl. an der verzeichnistiefe das dies nicht klappt?
                  der Hund hat doch bereits darauf hingewiesen, dass is_dir() auch die pfadangabe braucht - was verflixt noch mal ist daran so schwer zu kapieren?

                  bei dateien/ordnern in den unterverzeichnissen "findet" is_dir() die dinger nicht, weil eben die pfad-angabe fehlt. also kann es auch nie true zurückgeben, und folglich findet auch keine farbmarkierung statt ...
                  I don't believe in rebirth. Actually, I never did in my whole lives.

                  Kommentar


                  • #10
                    ich habe das schon verstangen, keine angst. nur.... es klappt nicht:

                    if(is_dir($pfad.$Datei))

                    markiert mir trotzdem alles in rot...

                    ABER:

                    wenn ich den befehl in is_file ändere dann markiert er mir "nur" die dateien in rot, die ordner nicht!

                    Kommentar


                    • #11
                      wenn ich den befehl in is_file ändere dann markiert er mir "nur" die dateien in rot, die ordner nicht!
                      PHP-Code:
                      !is_file() 
                      Die Zeit hat ihre Kinder längst gefressen

                      Kommentar


                      • #12
                        danke!

                        habe das problem mittlerweile aufgrund der pfadangabe die du angesprochen hattest gelöst.

                        besten dank!

                        Kommentar


                        • #13
                          Nachtrag: Anderer Denkansatz,

                          Inlineframe !

                          gutes altes HTML

                          Kommentar


                          • #14
                            Nichts für ungut aber gerade das wollte ich vermeiden. Sieht meiner meinung nach nicht gerade professionell aus.

                            Kommentar

                            Lädt...
                            X