absolute Pfade bei include (PHP)?

3 Antworten

Vom Beitragsersteller als hilfreich ausgezeichnet
absolute Pfade bei include (PHP)?
include($_SERVER['DOCUMENT_ROOT']."/ordner/datei.php");

Alex


Bohne47 
Beitragsersteller
 01.05.2023, 12:07

Dann kann man also keine absoluten Pfade bei include() verwenden?

EinAlexander  01.05.2023, 12:08
@Bohne47
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.

Woher ich das weiß:Berufserfahrung – Entwickle seit > 20 Jahren Anwendungen mit PHP.

fehlt da eventuell ein Punkt?

include('./ordner/.....