Werner-Zenk.de - Zur Startseite

Verzeichnis auslesen und mit einem Link verknüpfen

Auf vielfachen Wunsch, zeige ich Ihnen an Beispielen, wie ein Verzeichnis (Ordner) ausgelesen und mit einem Link verknüpft wird. Damit lässt sich zum Beispiel eine Navigation (oder Site Map) für die Homepage erstellen.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
<?php
// Öffnet ein Unterverzeichnis mit dem Namen "daten"
$verzeichnis openDir("daten");
// Verzeichnis lesen
while ($file readDir($verzeichnis)) {
 
// Höhere Verzeichnisse nicht anzeigen!
 
if ($file != "." && $file != "..") {
 
// Link erstellen
  
echo "<a href=\"daten/$file\">$file</a><br>\n";
 }
}
 
// Verzeichnis schließen
closeDir($verzeichnis);
?>

Beispiel-Anzeige:

startseite.php
demo.php
bild.gif
seite1.html
hallo.php

Beachten Sie: Mit diesem PHP-Script werden alle Dateien verlinkt (Bilder, .txt-Dateien etc. und eventuell vorhandene Unterverzeichnisse!)

Einen Filter für bestimmte Dateitypen einbauen

Mit diesem Filter werden nur PHP-Dateien angezeigt, außerdem wird die Dateiendung (.php) beim Linktext entfernt.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
<?php
// Öffnet ein Unterverzeichnis mit dem Namen "daten"
$verzeichnis openDir("daten");
// Verzeichnis lesen
while ($file readDir($verzeichnis)) {
// Höhere Verzeichnisse nicht anzeigen!
 
if ($file != "." && $file != "..") {
  
// Dateityp filtern. Es werden nur .php-Dateien angezeigt
  
if (strstr($file".php")) {
   
// Dateiendung vom Dateinamen filtern
   
$name explode("."$file);
   
// Link erstellen
   
echo "<a href=\"daten/$file\">$name[0]</a><br>\n";
  }
 }
}
closeDir($verzeichnis); // Verzeichnis schließen
?>

Beispiel-Anzeige:

startseite
demo
hallo

Seitentitel einer Datei auslesen und anzeigen

Statt den Dateinamen einer Datei, kann auch der Title-Tag der Datei ausgelesen werden, dazu muß die Datei zum lesen geöffnet werden.

Beachten Sie: In den Dateien muß im <title>-Tag und ein Seitentitel stehen, damit dieser dann ausgelesen werden kann!

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
<?php
 
// Verzeichnisname angeben
$verzeichnisname "daten";
// Öffnet das Verzeichnis
$verzeichnis openDir($verzeichnisname);
// Verzeichnis lesen
while ($file readDir($verzeichnis)) {
 
// Dateityp filtern
 
if (strstr($file".php")) {
  
// Datei zum lesen öffnen
  
$datei fOpen($verzeichnisname "/" $file"r");
  
// 1000 Zeichen lesen
  
$inhalt fRead($datei1000);
  
// Datei schließen
  
fClose($datei);
  
// Titeltext extrahieren
  
preg_match('/<title>(.*?)<\/title>/i'$inhalt$titel);
  
// Link erstellen
  
echo '<a href="' $verzeichnisname '/' $file '">implode(""$titel) . '</a><br>';
  unset(
$titel[1]); // Titeltext löschen
 
}
}
closeDir($verzeichnis); // Verzeichnis schließen
?>

Beispiel-Anzeige:

Die Startseite
Eine Demoseite
Hallo Welt!

Anfangsbuchstaben anzeigen

Bei einem größeren Verzeichnis ist es, wegen der Übersichtlichkeit, hilfreich die Anfangsbuchstaben der Dateien mit auszugeben.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
<?php
$buchstabe_alt 
"";
$verzeichnis openDir("meinverzeichnis");
while (
$file readDir($verzeichnis)) {
 if (
$file != "." && $file != "..") {
  
$buchstabe strtoUpper(substr($file01));
  if (!
strstr($buchstabe_alt$buchstabe)) {
   
$buchstabe_alt .= $buchstabe;
   
// Anfangsbuchstaben anzeigen
   
echo '<strong>$buchstabe '</strong> <br>';
  }
  echo 
'<a href="meinverzeichnis/' $file '">$file '</a><br>';
 }
}
closeDir($verzeichnis);
?>

Beispiel-Anzeige:

B
bild.gif
D
demo.php
donald.php
download.php
H
hallo.php
S
startseite.php
seite1.html
T
tauschboerse.php
W
wasserspiele.php

Verzeichnis mit PHP 5 auslesen

1
2
3
4
5
6
7
8
<?php
$verzeichnispfad 
"daten/";
$verzeichnis array_slice(scanDir($verzeichnispfad), 2);

foreach (
$verzeichnis as $element) {
 echo 
'<a href="' $verzeichnispfad $element '">$element '</a> <br>';
}
?>

Bilder aus einem Verzeichnis auslesen und anzeigen

1
2
3
4
5
6
7
8
<?php
$verzeichnis 
'bilder/';
foreach (
array_slice(scanDir($verzeichnis), 2) as $datei) {
 if (
in_array(substr($datei, -33), array('gif','png','jpg'))) {
  echo 
'<img src="' $verzeichnis $datei ' "><br>';
 }
}
?>

Tipp

Kleine Suchmaschine
Diese Suchmaschine durchsucht das aktuelle Verzeichnis und/oder andere Verzeichnisse nach Dateien.