PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Verzeichnis auflisten...



~Gh05t~
13-10-2004, 22:33
Hi all,
ich bin gerade dabei ein Bildergalerie-modul für eine CMS-ähnliche Software zu schreiben. Es soll einfach zu konfigurieren sein und schnell zu einer praktischen Lösung führen.

Als Konfiguration habe ich im moment die Pfad UND URL Angabe zu dem Verzeichnis in dem die Bilder liegen. Dieses wird dann mit opendir()+readdir() aufgelistet. Aus dieser Liste wird dann eine Bilder-Übersicht generiert.

Beide Angaben (URL+PATH) sind mir aber zuviel. Die meißten User wissen nicht wie der lokale Pfad zu ihrem Bilderverzeichnis heißt. Also suche ich nach einer Lösung, wie ich diese Pfadangabe vereinfachen kann. Ein Problem dabei ist, dass nicht alle Verzeichnisse unterhalb des DOCUMENT_ROOTs liegen. Beispiel:

URL: http://hostname/bilder => PATH: /usr/local/httpd/htdocs/bilder
URL: http://hostname/~user/bilder => PATH: /home/user/public_html/bilder
Ich kann also auch nicht einfach Pfade ausgehend vom doc-root nehmen.
Eine schöne Lösung wäre die scandir()-Funktion (http://de.php.net/manual/de/function.scandir.php), nur leider gibts die erst ab PHP5, das ist für die Software noch nicht Standart (auf vielen Servern auch nicht).

Hat jemand nen Tip für mich?

Pingu
15-10-2004, 11:40
Es gibt noch andere Server-Variablen, die dafür geeignet sind:

$_SERVER["SCRIPT_FILENAME"]
$_SERVER["REQUEST_URI"]
$_SERVER["PATH_INFO"]
$_SERVER["PATH_TRANSLATED"]

Und mit ein bischen Regex hast Du alles was Du brauchst.

TIP: Ab und zu mal in die phpinfo() (http://php.net/phpinfo) schauen, wenn man nach einer Info sucht, die am besten der Server liefern soll.

Pingu

~Gh05t~
16-10-2004, 19:03
Das Problem ist, ich habe keine geöffnete Datei in dem Verzeichnis das ich auslesen will... entsprechend wenig sinnvoll ist der Inhalt der Umgebungsvariablen. Die enthalten nämlich Pfadangaben zu meinem Script, nicht zu dem Verzeichnis das ich auslesen will... wo das ist interessiert nur nicht. Oder kann ich auch den Pfad zu einer URL rausfinden, ohne eine PHP-File in diesem DIR zu öffnen?

Pingu
16-10-2004, 19:34
Das Problem ist, ich habe keine geöffnete Datei in dem Verzeichnis das ich auslesen will... entsprechend wenig sinnvoll ist der Inhalt der Umgebungsvariablen. Die enthalten nämlich Pfadangaben zu meinem Script, nicht zu dem Verzeichnis das ich auslesen will... wo das ist interessiert nur nicht.
Das steht nur in den Vairablen die mit SCRIPT_ anfangen.


Oder kann ich auch den Pfad zu einer URL rausfinden, ohne eine PHP-File in diesem DIR zu öffnen?
In den oben von mir genannten Variabeln, die nicht mit SCRIPT_ anfangen.
Eine Liste der vom Apachen gesetzten Variablen findest Du hier: http://httpd.apache.org/docs/mod/mod_rewrite.html#RewriteCond

Pingu

TIP: Mit phpinfo() sieht man wie welche Variable gesetzt ist.