dedlfix: Pfade außerhalb des PHP-Verzeichnisses einbinden

Beitrag lesen

Hi!

PHP-Dateien lassen sich ja nur im entsprechenden PHP-Ordner auf dem Lokal-PC ausführen.

Jein. Mit einer 0815-Webserver-Konfiguration müssen nur die per Browserrequest gestarteten Dateien innerhalb des DocumentRoots liegen. Zu inkludierende PHP-Code-Dateien oder zu öffnende Datendateien können außerhalb des DocumentRoot liegen - was sich auch empfiehlt, wenn man keinen direkten Zugriff darauf haben will.

Wie ist das mit Links bzw. absoluten Pfaden?

Der Browser stellt ganz normale Requests nach diesen Dateien. Das heißt, sie müssen für ihn "sichtbar" sein - was wiederum bedeutet, dass sie im DocumentRoot liegen müssen.

Ich würde gerne Bilder in php-Dateien einfügen, die in Verzeichnissen auf der Festplatte sind.

Wenn sich diese außerhalb des DocumentRoots befinden, kann ein Browser mit keinen HTML-Mitteln auf sie zugreifen. Dann benötigst du ein Wrapper-Script, welches innerhalb des DocumentRoots liegend einen Parameter entgegennimmt und dann die angeforderte Datei ausliefert. Dieses Script sollte man so schreiben, dass nur auf genau definierte Verzeichnisse zugegriffen werden kann und man darüber nicht beliebige Systemdateien abfragen kann.

<A HREF="C:\Users\Username\Documents\Content\companylogos"><img alt="".$abc['companynumber']."" src="".$abc['companynumber'].".jpg"></A>
--> Das Bild wird nicht angezeigt.

PHP-Code ist für den Browser nicht interessant. Was sieht der Browser und kann er daraus einen Request in Richtung Server erstellen? C: ist aus seiner Sicht seine eigene Festplatte, so er unter Windows läuft.

Kann man mit PHP keine Bilder über Pfade darstellen? Eigentlich setzt PHP mit der Verlinkung doch nur eine HTML-Anweisung, um, oder?

Lerne, Dinge aus verschiedenen Perspektiven zu betrachten. PHP beziehungsweise der Webserver ist eine, der Browser eine andere. Mach dir zuerst Gedanken, was den Browser betrifft, ohne den Webserver zu berücksichtigen, dann überleg dir, wie du die Dokumente, so wie der Browser sie braucht, in seinen Techniken erstellen kannst - also HTML, CSS und Javascript. Anschließend kannst du dich daran setzen, diese Dokumente mit PHP zusammenzusetzen.

Lo!