absolute Pfade bei include (PHP)?
Wie verwendet man absolute Pfade bei einer Einbindung mit include in PHP? Ich habe den Code:
include('/ordner/datei.php');
Dieser Code funktioniert aber nicht. (Es wird halt keine Datei eingebunden).
Woran liegt das? Die datei ist vorhanden. Wenn ich es mit einem relativen Pfad mache funktioniert es. Aber mir wäre ein absoluter lieber.
Danke im Vorraus,
Bohne47
3 Antworten
absolute Pfade bei include (PHP)?
include($_SERVER['DOCUMENT_ROOT']."/ordner/datei.php");
Alex
Dann kann man also keine absoluten Pfade bei include() verwenden?
Doch. Mein Beispiel zeigt doch, dass und wie es geht.
Du kannst auch unter PHP absolute Pfade benutzen, jedoch gehe ich stark davon aus, dass es /ordner/datei.php bei dir eben so nicht gibt, sie auf einem anderen Volumen liegt oder dein Webserver keine Leseberechtigung dafür hat. Was für ein System nutzt du denn?
Generell sollte man solche absoluten Pfade aber tunlichst vermeiden, da sie bei jedem Umzug des Servers wieder angepasst werden müssen. Viel besser sind relative Pfade:
include('./unterordner/datei.php');
include(__DIR__.'/unterordner/datei.php');
include('../ordner-gleiche-ebene/datei.php');
include($_SERVER['DOCUMENT_ROOT'].'/ordner/datei.php');
Damit bist du deutlich flexibler. Aber natürlich geht auch so was:
include('/usr/lib/ordner/datei.php');
Dein Webserver bzw. der Webserver-Nutzer muss natürlich die Berechtigung zum Lesezugriff haben, was oft nicht der Fall ist, da der Webserver-Nutzer meist mit eingeschränkten Rechten läuft.
fehlt da eventuell ein Punkt?
include('./ordner/.....
Dann kann man also keine absoluten Pfade bei include() verwenden?