include problem bei verzeichnis

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

  • include problem bei verzeichnis

    Habe da ein merkwürdiges Problem,

    Habe eine Datei die die Sessions prüft und bei erfolg auch eine weitere datei mit allen wichtignen functionen aufruft.
    wenn ich alles in einem verzeichnis habe geht das auch wunderbar include ich jetzt jedoch die abfragedatei aus einem weiterem unterverzeichnis bekommt diese nicht mehr die daten aus der functionsdatei.

    bekomme dann immer gemeldet das die jeweilige anweisung unbekannt sei.
    Den Wind kann man nicht ändern, aber die Segel richtig setzen.

  • #2
    hmm,

    wie lautet die genaue fehlermeldung, verzeichnisstruktur, code?
    Die Zeit hat ihre Kinder längst gefressen

    Kommentar


    • #3
      Hi Abraxas,
      wahrscheinlich funktioniert deine include-Anweisung
      nicht, da du wahrscheinlich einen relativen Pfad verwendest.
      Die relativen Pfade werden immer im Kontext des
      gestarteten PHPs aufgelöst.
      Zwei Lösungen fallen mir dazu ein.
      Entweder könntest du in der include-Anweisung einen
      absoluten Pfad verwenden z.B.:
      include dirname(__FILE__) ."/inc.functions.php";
      oder
      du setzt den include-path auf das Verzeichniss mit
      deinen include-Dateien:
      if (substr(PHP_OS, 0, 3) == 'WIN')
      set_include_path('.;'. dirname(__FILE__));
      else
      set_include_path('.:'. dirname(__FILE__));

      netten Gruß, Holger

      Kommentar


      • #4
        Thx hOk

        Das mit dem absuluten Pfad fällt leider weg da es ein wachsendes Programm werden soll und es nachher zu Problemen kommen wird zumal es im moment noch local und später erst online laufen soll.

        Die 2te Lösung klingt zwar interessant aber leider verstehe ich die ausführung nicht ganz.

        Also wenn mir das mal bitte jemand genauer erklären könnte oder ein passendes Tutorial kennt.


        abraxas
        Den Wind kann man nicht ändern, aber die Segel richtig setzen.

        Kommentar


        • #5
          Hi Abraxas,
          Über den include-Path gibst du Verzeichnisse an
          in denen gesucht werden soll wenn du eine Datei
          includest oder requirest, auf Windows-Systemen werden
          die include-Pfade mit einem Semikolon getrennt und
          auf Linux-Systemen mit einem Doppelpunkt.

          Gegeben sei folgende Verzeichnisstruktur:
          Code:
          root
          |_sub1
          |    |_sub1_sub1
          |        |_file1
          |_sub2
              |_file2
          Üblicherweise wird der include-Path auf
          ein Verzeichniss gesetzt in welchem alle
          wichtigen Scripte liegen, hier z.B.: root/sub1.

          Wenn du jetzt aber file2 dein aktuelles Script
          ist müsstest ohne include-Path wie folgt
          referenzieren um file1 zu includen:
          ../sub1/sub1_sub1/file1
          Ist der include-Path gesetzt kannst du mit:
          sub1_sub1/file1
          referenzieren.

          Wichtig ist nur das der include-Path gesetzt
          wird, dies kannst du in einer zentralen
          Konfigurations-Datei vornehmen.

          netten Gruß, Holger

          Kommentar


          • #6
            irgendwie versteh ich dass noch nicht so ganz

            meine index, liegt im
            www.ofp-2.com/offline verzeichnis
            die datei, die includet werden soll liegt in
            www.ofp-2.com/offline/news/ und heißt newsindex.php
            wie include ich die datei denn nu ?


            thx für antwort

            Kommentar


            • #7
              schade dass ich den thread anfangs nicht gesehen habe. aber das was abraxas schreibt ist natürlich so nicht richtig!

              @exige: include einfach so, wie hoc rs in der ersten version empfohlen hat.

              Kommentar


              • #8
                Original geschrieben von exige
                meine index, liegt im
                www.ofp-2.com/offline verzeichnis
                die datei, die includet werden soll liegt in
                www.ofp-2.com/offline/news/ und heißt newsindex.php
                wie include ich die datei denn nu ?
                Na so wie sonst auch:
                PHP-Code:
                include $_SERVER['DOCUMENT_ROOT'] . '/offline/news/newsindex.php'

                Kommentar


                • #9
                  besser über __FILE__ aber das hast du ja in dem anderen Thread schon gelesen.

                  Kommentar


                  • #10
                    ich weiß ich bin dumm
                    aber wo muss ich denn nu was bei meinem beispiel hier einsetzen ??
                    PHP-Code:
                    if (substr(PHP_OS03) == 'WIN')
                    set_include_path('.;'dirname(__FILE__));
                    else
                    set_include_path('.:'dirname(__FILE__)); 

                    Kommentar


                    • #11
                      das das umsetzen des include_path. das ist schmarn!

                      Kommentar


                      • #12
                        lol
                        und was ist kein schmarn ??

                        Kommentar


                        • #13
                          wieso kein ganz normales

                          PHP-Code:
                          include(dirname(__FILE__)."datei.php"); 
                          ICH BIN ICH!!!

                          Kommentar

                          Lädt...
                          X