Verzeichnisse im Webroot in Array einlesen

Alles, was PHP betrifft, kann hier besprochen werden.

Verzeichnisse im Webroot in Array einlesen

Postby AlexPausB » 17. May 2003 17:00

Servus,

aaaalso ich versuche quasi ein Directory Listing zu erstellen. Die Ausgabe soll einfach nur alle existierenden Verzeichnisse ausgeben.

Cool wär das halt irgendwie mit einem Array zu machen, weil ich dann die Verzeichniss verlinken möchte.

Öhm, wisst ihr was ich meine?

Danke...
AlexPausB
 
Posts: 471
Joined: 05. February 2003 11:19
Location: Fdorf

Postby Oswald » 17. May 2003 17:17

Huhu Alex!

Meinst Du sowas:

Code: Select all
<?
        $dir=opendir(".");
        while ($file = readdir($dir)) {
           if (is_dir($file) && $file!="." && $file!="..") {
               $dirs[] = $file;
           }
        }

        foreach ($dirs as $key => $value)
        {
                echo $value."<br>";
        }

?>


Im ersten Teil wird das Array $dirs[] aufgebaut und im zweiten Teil wird es testweise ausgegeben.

Liebe Grüße,
Oswald ;)
User avatar
Oswald
Apache Friends
 
Posts: 2718
Joined: 26. December 2002 19:51
Location: Berlin, Germany
XAMPP Version: 5.5.19
Operating System: Linux

Postby AlexPausB » 17. May 2003 17:26

Hey - saustark!

Aber es wird ja der Ordnerinhalt vom aktuellen Verzeichnis angezeigt $dir=opendir(".");, wie schaffe ich es, andere Verzeichnis-Inhalte anzeigen zu lassen?

Angenommen ich hab folgende Struktur:

Code: Select all
htdocs
 \_ bla
 \_ bla2
 \_ admin
     \_ phpscript.php


und die Datei phpscript.php soll die Verzeichnisse aus htdocs ausgeben?
Mache ich einen auf $dir=opendir("./../"); kommt ne Fehlermeldung :-(
AlexPausB
 
Posts: 471
Joined: 05. February 2003 11:19
Location: Fdorf

Postby boppy » 19. May 2003 00:00

Moin Alex,
was du meinst, ist eine rekursive funktionsnutzung. Dazu musst du aber erstmal eine Funktion haben. Also meine Idee: "Lass uns ne Fkt bauen" - aber da ich kein Bock habe das zu machen, kopier ich lieber eine, die ich schonmal geschrieben habe :D

Code: Select all
<?
function scandir($verz="."){
    $f_handle = opendir($verz);
    while($file = readdir($f_handle)){
        if( $file != "." && $file != ".."){
            if(is_dir("$verz/$file")){
                $eb++;
                scandir("$verz/$file");
            }
            else {
                echo("$verz/$file<br>\n");
            }
        }
    }
}
scandir();
?>

Das war's shcon
...in diesem Sinne
yours boppy

Interpunktion und Orthographie dieses Beitrags sind frei erfunden.
Eine Übereinstimmung mit aktuellen oder ehemaligen Regeln wäre rein zufällig und ist nicht beabsichtigt.
User avatar
boppy
AF Moderator
 
Posts: 501
Joined: 27. December 2002 02:15
Location: W-E-City

Postby AlexPausB » 07. June 2003 10:35

Danke Bobby!

Habs grad erst wieder gelesen und ausprobiert - funktioniert einfwandfrei!

Grüsse...
AlexPausB
 
Posts: 471
Joined: 05. February 2003 11:19
Location: Fdorf


Return to PHP

Who is online

Users browsing this forum: No registered users and 5 guests