Programmteile auslagern (PHP)
Aus C++_PHP_und_mehr
Version vom 27. Juni 2013, 20:02 Uhr von Gert (Diskussion)
Links und Includepfade
Der Apache-Webserver sucht Pfade/Dateien aus der vom Browser übermittelten Adresse in einem ganz bestimmten Ordner[1], unter Linux ist dies /var/www/. Es ist zulässig, hier Links auf die physikalische Datei zu verwenden. Man muss dann aber die einen feinen Unterschied bei der Verwendung relativer Adressen beachten: Sobald man einen relativen Pfad mit .. (ein Ordner höher) verwendet, bezieht sich der Pfadname nur noch auf aufgerufenen Ordner, hier domainOrdner genannt.
- mit ..: require_once '../IncludeOrdner/IncludeDatei.inc.php';
- sourceOrdner/../IncludeOrdner/IncludeDatei.inc.php existiert physikalisch. Funktioniert nicht.
- Link var/www/domainOrdner/../IncludeOrdner/IncludeDatei.inc.php. Funktioniert.
- direkt: require_once 'IncludeOrdner/IncludeDatei.inc.php';
- Link var/www/domainOrdner/IncludeOrdner/IncludeDatei.inc.php. Funktioniert.
- Link sourceOrdner/IncludeOrdner/IncludeDatei.inc.php. Funktioniert.
Dies weicht von dem Verhalten von HTML-Ankern (<a>) ab. Relative Adressen werden immer relativ zum domainOrdner betrachtet, auch wenn der einen Link auf den eigentlichen Ordner enthält[2].
Fußnoten
- ↑ Einstellbar?
- ↑ Getestet für Apache Webserver