1.3k Aufrufe
Gefragt in Skripte(PHP,ASP,Perl...) von
Hallo,

ich habe auf einem Server mehrere Ordner mit Dateien. Jetzt
möchte ich eine Index.php anlegen, die mir alle Ordner als Link
ausgibt.
Die Struktur sieht wie folgt aus:
../Hauptverzeichnis/
../Ordner_1
../Ordner_2
../...


Die Ausgabe soll dann wie folgt in HTML Format aussehen:
Ordner 1
Ordner 2
...


Jeder Ordner soll eine Referenz auf den eigentlichen Ordner im
Dateisystem haben, so dass man selbigen über einen Link aufrufen
kann.

Über:


<?php

$handle=opendir ('.');
echo "Verzeichnis-Handle: $handle<br>";
echo "Dateien:<br>";

while ($file = readdir ($handle)) {
if ($file != "." && $file != "..") {
echo "$file<br>";
}
}

closedir($handle);

?>


kann ich mir alle Dateien des Verzeichnisses ausgeben lassen,
jedoch nur als textuelle Darstellung.

Beste Grüße

ThaHia

3 Antworten

0 Punkte
Beantwortet von ennok Experte (1.2k Punkte)
versuch mal

echo "<a href='$file'>$file</a><br>";
0 Punkte
Beantwortet von
Ich hab das ganze wie folgt gelöst:

<?php
$verzeichnis = 'XXXXXX/';

foreach (new DirectoryIterator( $verzeichnis ) as $datei)
{
if (!$datei->isDot())
{

echo '<tr>';
echo '<td><a href="'.$verzeichnis.$datei->getFilename().'">'
.$datei->getFilename(). '</a></td>';
echo "</tr>\n";
echo "<br>";
}
}
?>


Was mir jetzt noch fehlt ist eine Zeichenersetzung. Ich möchte gerne
alle Leerzeichen in den Datei bzw. Ordnernamen durch Unterstriche
ersetzen.
Der Ordner:
Ordner 1
soll also als
Ordner_1 ausgegeben werden.

PHP bietet hier ja die str_replace Methode. Wie kann ich diese in die
obere Schleife integrieren?
Über die getFilename() Methode bekomme ich ja den exakten
Dateinamen zurück, also mit Leerzeichen.

Vielen Dank im Voraus!

ThaHia
0 Punkte
Beantwortet von
Hat sich erledigt. Man muss nur in der Ausgabe die str_replace Methode
aufrufen.

Problem gelöst!
...