Unterordner anzeigen

eugster

Mitglied
Hallo

Ich möchte mit einem Script alle Ordner in einem 'Oberordner' anzeigen lassen. Das mir die Datein angezeigt werden hab ich geschaft - aber wie bringe ich die Ordner raus?

Vielen Dank & Gruss, Marc

PS: Das Script für die datei sieht so aus:
PHP:
<?php
$directory=".";
$extension=".pps";

$d   = dir($directory);
while($entry=$d->read())
        if (substr($entry,-strlen($extension)) == $extension)
		{
             	$arr = split("\.",$entry);
	echo "<li><a href='$entry' target='mainFrame'>$arr[0]</a><br></li>";
}
$d->close();
?>
//mod-comment: Bitte diese php Tags in Zukunft nutzen. Syntax Hightlighting ist sehr hilfreich
 
Zuletzt bearbeitet von einem Moderator:
Öhm naja, du scheinst das ganze ein wenig in Klassen und (selbstgeschriebene?) Methoden verstrickt zu haben, das einfachste Grundprinzip sieht aber wie folgt aus und verfolgt den Ansatz der rekursiven Programmierung (Nähere Informationen hierzu liefert Google. :)
PHP:
function readit($dir) {
  $handler = opendir($dir);
  while($file = readdir($handler)) {
    if(is_dir($file)) { //wenn der momentane Zeiger keine Datei sondern ein Verz. ist
      readit($dir."/".$file); //ruft sich die Funktion selbst auf und liest so das Unterverzeichnis aus.
    }
    else {
      //hier kommt halt hin, was du mit normalen Dateien machst
      //evtl. halt sogar noch Unterscheidung nach Dateiendungen
    }
  }
}
Ich denke das sollte selbsterklärend sein und auch klarmachen, was rekursive Programmierung ist.

Das musst du jetzt halt nur, wenn du willst und es für nötig hälst, an deine Methoden da anpassen.
 
Zuletzt bearbeitet:
Hab mal etwas herumgepröbelt.... Das ist dabei rausgekommen:

PHP:
<?php
$dir = '.';
$ascsort = "<a style=\"text-decoration:none\" href=\"$PHP_SELF?sort=asc\">A..Z</a>";
$dscsort = "<a style=\"text-decoration:none\" href=\"$PHP_SELF?sort=dsc\">Z..A</a>";
$dp = opendir($dir);
while ($file = readdir($dp))
{
  $directory[(int) is_dir($file)][] = $file;
}
echo '<h3>Verzeichnisse</h3>';
foreach($directory[1] as $z) echo "<a href='$z'>$z</a><br>";
closedir($dp);
?>

Jetzt frag ich mich nur noch, ob es wohl möglich ist, die bei der Ausgabe auf den ersten Linien erscheinenden . und .. (für die Verzeichnisauswahl) irgendwie abzufangen...

Also dieses hier:

Verzeichnisse
.
..
Ordner_1
Ordner_2



Vielen Dank schon jetzt!
 
Och manno, das ist jetzt aber wirklich mehr als einfach ...
PHP:
if($file != "." && $file != "..") {
}
Das hätte man sich doch auch so denken können oder ?
 
Zurück