Robert B.: Wie richtig include, so das der Pfad immer korrekt ist?

Beitrag lesen

Moin,

wenn ich von folgender Verzeichnisstruktur ausgehe

-home-
    index.php

Was heißt das -home- hier genau? Liegt die index.php im obersten Verzeichnis neben content, includes, …?

/content    
    /verzeichnis_1
        /verzeichnis_1_a
            seite_a_1.php
        /verzeichnis_1_b
            seite_b_1.php
/includes
    header.php
    nav-bar.php
/layout
    /styles
        main.css
/navigation
    navi.php

und in der index.php die header.php und die nav-bar.php per include einbinde funktioniert es wie gewünscht.

Was ist „es“ und was heißt „funktioniert wie gewünscht“?

Wenn ich das aber mit der *seite_a_1.php * mache werden z.b. die css Dateien nicht eingebunden. Meine Versuche haben ergeben das dann der Pfad zu den css Dateien nicht korrekt ist. Wie mache ich es richtig.

In dem Du den richtigen Pfad aus Sicht der jeweiligen Datei angibst.

Wenn ich ./layout/styles/main.css durch ../../../layout/styles/main.css ersetze werden die css Dateien in der seite_a_1.php eingebunden aber natürlich nicht in der index.php

Deshalb meine Eingabgsfrage, wie index.php relativ zu den anderen Verzeichnissen liegt.

Wenn die index.php im Document Root liegt, sollten aus ihrer Sicht und der des Webservers diese Pfade zur gleichen Ressource führen:

  • ./layout/styles/main.css
  • layout/styles/main.css (äquivalent zur vorherigen Zeile)
  • ../../../layout/styles/main.css (sofern /index.php – der Versuch in den übergeordneten Pfad zu wechseln würde normalisiert)
  • /layout/styles/main.css (von der Document Root aus)

Viele Grüße
Robert