dedlfix: Pfade und URLs und Aliasverzeichnisse ineinander überführen

Beitrag lesen

echo $begrüßung;

Ein Script erzeugt auf dem Server aus Bildern Thumbs und legt diese in einem für den PHP-Prozess zugänglichen Verzeichnis ab.

Nun soll die vollständige URL zu den Thumbs ermittelt werden, wenn das Zielverzsichnis innerhalb der DocRoot liegt.

Leider funktioniert das so nicht, wenn es sich z.B. un ein UserDir handelt.

Und, es gibt außer den UserDir auch SymLinks und Aliases, mit denen man Dateien/Ressourcen außerhalb des DocRoots ansprechen kann...

Um von einem Dateinamen auf eine gültige URL zu kommen braucht man Kenntnisse der Apache-Konfiguration[*]. Ich kann mir nur vorstellen, durch Ausprobieren aller _möglichen_ URLs die/eine passende zu finden (apache_lookup_uri() ?), was nicht unbedingt eine sehr elegante Lösung ist.
Unter Beschränkung auf unver(sym)linkte DocRoot- und Userdir-Dateien könnte ich mir für das UserDir-Problem die Ermittlung einer _möglichen_ URL so vorstellen: Mittels einer RegExp-Operation wird aus HOME/$user/PUBDIR/$path_and_file den User ($user) und Rest des Dateinamens ($path_and_file) extrahiert und dann geschaut, ob mit apache_lookup_uri() "/~$user/$path_and_file" wieder der gleiche reale ...->filename ermittelt werden kann.
Hierzu müssen aber die Bestandteile HOME und PUBDIR bekannt sein, und die lassen sich nicht so ohne weiteres mit PHP-Mitteln herausfinden, zumal ja auch noch HOME für jeden User anders sein kann. (also konfigurierbare Konstanten ?)

echo "$verabschiedung $name";

[*] oder eine Sicherheitslücke :-)