Pfadangabe!!!

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

  • Pfadangabe!!!

    Hi @all,

    es wundert mich, dass ich hier nicht fündig geworden bin trotzdem würde es mich noch mehr wundern wenn nur ich das Problem hätte:

    Also ich habe mehrere Verzeichnisse in meinem Odner: Admin / CSS / classes usw

    In jede Datei wird der header per include eingefügt: Im Header sind wieder mehrere Dateien includet (klassen, sqlconfig,...) die in den verschiedenen Verzeichnissen untergebracht sind.

    Wenn ich nun einen Link setze in ein Verzeichnis bei mir z.B. "/admin/delete.php" setze und in diese delete.php wieder den Header include (include ../header.php), dann steht der Header zwar in richtiger Relation, jedoch die Dateien die im Header stehen werden nicht angezeigt, da die Relation in /admin/ nicht stimmt.

    Deswegen wollte ich wissen warum das so nicht funktioniert und was ich stattdessen machen kann:

    PHP-Code:
    // absolute Pfad
    $path "http://pip/forum/";

    echo 
    "<a href=\"".$path."admin/delete.php\">Löschen</a>"
    Das dürfte eigentlich funktionieren - mal logisch gesehen. Der bringt mir aber folgendes:
    Warning: Failed opening 'http://pip/test/newforum/various/dbclass.php' for inclusion (include_path='') in f:\www\test\newforum\header.php on line 8

    Mich wundert es wirklich, dass für dieses Thema noch keine Lösung gefunden worden ist, obwohl es schon mehrmals angesprochen wurde (laut suche)...

    cya CrazyPip

  • #2
    Du könntest u.A. einen fixen Pfad setzen indem du z.B.

    PHP-Code:
    include ($_SERVER["DOCUMENT_ROOT"].chr(47)."bla.php"); 
    Würde bedeuten das die File stets im HTdocs gesucht wird, chr(47) braucht man net wirklich zu erklären oder?
    [color=blue]MfG Payne_of_Death[/color]

    [color=red]Manual(s):[/color] <-| PHP | MySQL | SELFHTML |->
    [color=red]Merke:[/color]
    [color=blue]Du brauchst das Rad nicht neu erfinden ! [/color]<-ForumSuche rettet Leben-> || <-Schau in den Codeschnippsels->

    Murphy`s Importanst LAWS
    Jede Lösung bringt nur neue Probleme
    Das Fluchen ist die einzige Sprache, die jeder Programmierer beherrscht.
    In jedem kleinen Problem steckt ein großes, das gern raus moechte.

    Kommentar


    • #3
      mache es so und es geht 100%ig
      PHP-Code:
      include($_SERVER['DOCUMENT_ROOT']."/includes/header.inc.php"); 
      und in html
      Code:
      <a href="/admin/menu.php" target="_top">link</a>
      bei images ebenfalls siehe html
      EDIT:
      @POD
      warum das chr(47) ?

      INFO: Erst suchen, dann posten![color=red] | [/color]MANUAL(s): PHP | MySQL | HTML/JS/CSS[color=red] | [/color]NICE: GNOME Do | TESTS: Gästebuch[color=red] | [/color]IM: Jabber.org |


      Kommentar


      • #4
        du kannst auch die __FILE__ Konstante nutzen.

        Kommentar


        • #5
          hi,

          __FILE__ Konstante - kannst du mir mehr darüber sagen?

          das mit document_root hatte ich schonmal probiert, hat aber nicht funktioniert - werds gleich mal auf deine methiode probieren...

          danke euch!

          cya CrazyPip

          Kommentar


          • #6
            Original geschrieben von CrazyPip
            das mit document_root hatte ich schonmal probiert, hat aber nicht funktioniert
            das funktioniert 100%ig!
            INFO: Erst suchen, dann posten![color=red] | [/color]MANUAL(s): PHP | MySQL | HTML/JS/CSS[color=red] | [/color]NICE: GNOME Do | TESTS: Gästebuch[color=red] | [/color]IM: Jabber.org |


            Kommentar


            • #7
              Original geschrieben von Abraxax
              mache es so und es geht 100%ig
              PHP-Code:
              include($_SERVER['DOCUMENT_ROOT']."/includes/header.inc.php"); 
              und in html
              Code:
              <a href="/admin/menu.php" target="_top">link</a>
              bei images ebenfalls siehe html
              EDIT:
              @POD
              warum das chr(47) ?

              weil ich kein / angeben will
              [color=blue]MfG Payne_of_Death[/color]

              [color=red]Manual(s):[/color] <-| PHP | MySQL | SELFHTML |->
              [color=red]Merke:[/color]
              [color=blue]Du brauchst das Rad nicht neu erfinden ! [/color]<-ForumSuche rettet Leben-> || <-Schau in den Codeschnippsels->

              Murphy`s Importanst LAWS
              Jede Lösung bringt nur neue Probleme
              Das Fluchen ist die einzige Sprache, die jeder Programmierer beherrscht.
              In jedem kleinen Problem steckt ein großes, das gern raus moechte.

              Kommentar


              • #8
                Original geschrieben von Payne_of_Death
                weil ich kein / angeben will
                aso.
                OffTopic:
                übrigens brauchst du nicht den ganzen post zitieren. lösche einfach den rest raus. dann sieht es auch übersichtlicher aus.
                INFO: Erst suchen, dann posten![color=red] | [/color]MANUAL(s): PHP | MySQL | HTML/JS/CSS[color=red] | [/color]NICE: GNOME Do | TESTS: Gästebuch[color=red] | [/color]IM: Jabber.org |


                Kommentar


                • #9
                  inhalt header.php
                  PHP-Code:
                      session_start();

                      
                  // Basepath
                      
                  $path $_SERVER['DOCUMENT_ROOT']."/";

                      include 
                  $path.'config.inc.php';
                      include 
                  $path.'various/dbclass.php';
                      include 
                  $path.'various/userclass.php';
                      include 
                  $path.'various/functions.php';
                      
                      
                  $n = & new db;
                      
                  $u = & new user
                  inhalt admin/delete.php
                  PHP-Code:
                  include '../header.php'
                  Deine Methode, Abraxas, funktioniert hier leider nicht...

                  Kommentar


                  • #10
                    Original geschrieben von CrazyPip
                    Deine Methode, Abraxas, funktioniert hier leider nicht...
                    doch! du MUSST auch in JEDEM script mit dem DOCUMENT_ROOT arbeiten.

                    OffTopic:
                    schreibe mich auch bitte mit X um verwechslungen auszuschliessen.
                    INFO: Erst suchen, dann posten![color=red] | [/color]MANUAL(s): PHP | MySQL | HTML/JS/CSS[color=red] | [/color]NICE: GNOME Do | TESTS: Gästebuch[color=red] | [/color]IM: Jabber.org |


                    Kommentar


                    • #11
                      hi abraxax

                      ich arbeite an der Seite offline mit FoxServ.

                      <?=$_SERVER['DOCUMENT_ROOT'];?> ergibt bei mir folgendes: d:/programme/foxserv/www/

                      in dem Verzeichnis gibt es aber keine Dateien die config oder ähnlich heissen! deswegen funktioniert das auch nicht...

                      Meine Seiten liegen auf F:/www/usw...

                      Kommentar


                      • #12
                        Original geschrieben von CrazyPip
                        Meine Seiten liegen auf F:/www/usw...
                        ich merk schon...ich hab irgendwas falsch in meinen Einstellungen..

                        EDIT:
                        Ok hat sich erledigt. Lag an meinem Apache...gg sry
                        Zuletzt geändert von CrazyPip; 09.06.2003, 14:02.

                        Kommentar


                        • #13
                          hi nochmal

                          das ganze funkiotniert nun mit den includes und mit dem images. Wenn ich aber nun einen link so setze (und das muss ich) dann zeigt der mir auf als inhalt des Links den Text der dateien an...der parst die nicht mehr...das ist wie wenn man eine textdatei im explorer öffnet...

                          PHP-Code:
                              session_start();

                              
                          // Basepath
                              
                          $path $_SERVER['DOCUMENT_ROOT']."/forum/";
                              
                              include 
                          $path.'config.inc.php';
                              include 
                          $path.'various/dbclass.php';
                              include 
                          $path.'various/userclass.php';
                              include 
                          $path.'various/functions.php';

                          //weiter unten:

                           
                          echo "<b><a href=\"".$path."board.php?f=" $tr['id'] . "&" $ext "\" target=\"_top\"></b>"
                          $_SERVER['DOCUMENT_ROOT'] = d:/programme/foxserv/www

                          was kann ich dagegen tun?

                          cya CrazyPip

                          Kommentar


                          • #14
                            wenn deine datei nicht durch den parser läuft, kann sie auch nicht bearbeitet werden.

                            wahrscheinlich arbeitest du im falschen verzeichnis. bzw. links auf das falsche. es MUSS durch den apache laufen!
                            INFO: Erst suchen, dann posten![color=red] | [/color]MANUAL(s): PHP | MySQL | HTML/JS/CSS[color=red] | [/color]NICE: GNOME Do | TESTS: Gästebuch[color=red] | [/color]IM: Jabber.org |


                            Kommentar


                            • #15
                              was meinst du mit "muss durch den Apache laufen"...
                              es läuft ja alles durch den Apache. Ich habe bisher nur mit relativen Pfadangaben gearbeitet ( ./ , ../ , usw). Sobald ich aber dann $_SERVER['DOCUMENT_ROOT']; in jeden Link einbaue, funktioniert das nicht mehr. Der erkennt das dann nicht mehr als http sondern als file...

                              Kommentar

                              Lädt...
                              X