echo $begrüßung;
Ich hab bei meinem Webhoster die Möglichkeit, Dateien mit sensiblen Daten (z.B. Datenbank-Login) in einem Ordner abzulegen, der per Browser nicht zugänglich ist. Dazu muss ich beim include einen dokument-relativen Pfad nehmen, der eine Ebene höher führt als die index-Datei gespeichert ist.
Benutze _immer_ den absoluten Pfad im Dateisystem, um deine Includes zu laden ...
Den absoluten Pfad, sollte man nicht jeder include-Anweisung einzeln spendieren sondern im include_path setzen (set_include_path()).
Beim genaueren Lesen müsste auffallen, dass ich auf Dateien oberhalb der DOCUMENT ROOT der Website zugreife:
- oberstes Verzeichnis mit FTP-Zugriff
'- Ordner für Website
' '- index.php
'- Ordner für includes
'- daten.inc.phpWie sollte ich jetzt anders als mit '../Ordner für includes/daten.inc.php' zugreifen?
Ermittle den absoluten Pfad für "oberstes Verzeichnis mit FTP-Zugriff", erweitere ihn um "Ordner für includes", und stell deinen include_path ein. Den Pfad kannst du fest im Script notieren oder mittels $_SERVER['DOCUMENT_ROOT'] (sofern vorhanden), der Konstante __FILE__, $_SERVER['SCRIPT_FILENAME'], $_SERVER['SCRIPT_NAME'], dem Namen des "Ordners für Website" und etwas Stringarithmetik berechnen. (Nicht alle Angaben werden gebraucht, aber das sind die, die man sich näher ansehen sollte. Bitte auch das Verhalten dieser Werte bei mod_rewrite-Verwendung testen.)
'/daten.inc.php' sucht in 'Ordner für Website/'
'/Ordner für includes/daten.inc.php' sucht in 'Ordner für Website/Ordner für includes/'
Nein, das sucht aufgrund des vorangehenden / im Wurzelverzeichnis des Dateisystems.
echo "$verabschiedung $name";