require_once Pfadproblem

  • Hallo,

    binde über require_once einige Files in die Seite ein. Wenn ich die Pfadangaben mittels

    PHP
    require_once("../Pfad/zum/Verzeichniss")

    angeben funktioniert alles Problemlos und die Dateien werden eingebunden. Ich muss aber vom Rootverzeichniss aus referenzieren also

    PHP
    require_once("/Pfad/zum/Verzeichniss")

    bei dieser Variante erhalte ich die Fehlermeldung, dass die Datei nicht vorhanden ist, sie liegt aber in diesem Verzeichniss.

    Jemand eine Idee wie ich den Pfad vom root Verzeichniss aus angeben kann?

  • getcwd liefert das aktuelle arbeitsverzeichnis.

    wichtig für require_once ist jedoch der include_path - den aktuellen kannst du dir mit get_include_path ausgeben lassen. wenn du ein file einbindest, wird in jedem eintrag des include_paths nach der datei gesucht. du kannst einen include-pfad mit set_include_path setzen, beachte aber dabei, dass du den bestehenden include-pfad nicht überschreibst, sondern nur einen neuen eintrag hinzufügst. alternativ kannst du auch das arbeitsverzeichnis mit setcwd ändern.

    ganz allgemein kann ich dir noch folgenden tipp geben: definiere irgendwo in deinem projekt eine konstante mit dem absoluten pfad zum projekt-root (zB APP_PATH) und binde die files dann mit require_once(APP_PATH . '/pfad/zum/verzeichnis') ein, da sonst immer im gesamten include_path gesucht wird. das kann bei größeren applikationen zu erheblichen performanceinbußen führen.

    Einmal editiert, zuletzt von matmö (27. Oktober 2010 um 18:11)

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!