Hallo Token,
Andere PHP-Dateien kann ich per include einbinden, nur mit den CSS-Dateien klappt das nicht.
CSS wird vom Browser gelesen, ein INCLUDE vom PHP Script.
Kurz gesagt:
-
Was der Browser lesen soll, muss vom Browser erreichbar sein.
- Statische Ressourcen (HTML, CSS, JS, Bilder) werden vom Webserver, vorbei an PHP, direkt zum Browser geliefert und müssen daher in dem Verzeichnisbaum liegen, auf den die Domain zeigt.
- Für dynamische Ressourcen gilt das gleiche: Eine PHP Datei, die durch einen Browserabruf ausgeführt werden soll, müssen ebenfalls vom Browser auch erreichbar sein.
- Die ganze Wahrheit ist komplizierter, aber das lasse ich jetzt weg.
-
Was ein PHP Script lesen soll, ist an diese Grenze nicht gebunden. Grundsätzlich kann ein PHP Script alles lesen und schreiben, was der User, unter dem der Webserver läuft, lesen und schreiben kann. Weshalb dieser User so kastriert wie möglich sein muss.
Wenn Du unbedingt CSS Ressourcen bereitstellen willst, die nicht im Domain-Verzeichnisbaum liegen, brauchst Du einen Vermittler. Das kann man mit Mitteln des Filesystems machen (Links), was aber wenig sinnvoll ist. Man kann es auch mit einem PHP Script machen, dass die Datei von ihrem Ort in die HTTP Response kopiert. Sowas kann z.B. sinnvoll sein um einen User-Login zu prüfen oder je nach Einstellungen des Anwenders (Stichwort: Farbschema oder Skin) andere CSS zu liefern. Oder sie on-the-fly zu modifizieren.
Rolf
sumpsi - posui - obstruxi