Navigation
 Startseite
 Fachbücher
 Forum
 Webmaster News
 Script Newsletter
 Kontakt
 Script Installation
 Php
 Php Tutorials
 Impressum

Community-Bereich
 kostenlos Registrieren
 Anmelden
 Benutzerliste

Script Datenbank
 Script Archiv
 Script Top 20
 Screenshots
 Testberichte

Suche
 

Unsere Php Scripts
 Counter Script
 Umfrage Script
 Bilder Upload Script
 Terminverwaltung
 Simple PHP Forum
 RSS Grabber

Script Mods
 phpBB Adsense Mode

Tools und Generatoren
 .htpasswd Generator
 md5 Generator
 base64 Generator
 Markdown to HTML
 Colorpicker
 Unix timestamp Tool
 TLD Liste
 Webkatalog‑Verzeichnis

Partner
 Sprüche Treff

Artfiles.de
Bietet Serviceorientierte Internetdienstleistungen...
https://www.Artfiles.de
Hosterplus.de
Bekommen Sie Speicherplatz (Webspace), Domains und...
https://www.Hosterplus.de
 
 
 

Verzeichnis mit PHP ausgeben

Sie befinden sich: Home > Php Tutorial > Verzeichnis mit PHP ausgebe...

Verzeichnis mit PHP ausgeben


Eintrag am:  24.11.2009
Hits / Besucher:  9095
Sprache:  Deutsch
Kategorie:  Einsteiger Tutorials...
Tutorial Art:  eigenes
Eingetragen von   schubertmedia schubertmedia
 
Beschreibung

In diesem Tutorial möchte ich ihnen erklären, wie sie mit PHP ein Verzeichnis ausgeben können. Ich habe mich dafür entschlossen, dieses Tutorial zu schreiben, da die ein oder andere Frage in unserem Forum zu diesem Thema geschrieben wurde.

Nachfolgend finden sie ein Code Beispiel, womit sie das Verzeichnis mit allen Dateien und Ordner ausgeben können. Wenn ein Ordner ausgegeben wird, wird dieser automatisch verlinkt. Sobald man auf diesen Link klickt, wird der entsprechende Ordner geladen. Die Dateien werden auch verlinkt, wenn man aber auf diese klickt, werden diese angezeigt.

Beispiel:

<?php

/*
* Created on 24.11.2009 by Nico Schubert
* @ php-space.info
*/

/**
* Als Erstes ermitteln wir die
* Adresse, wo das Script derzeit
* liegt
*/
$url = 'http://'.$_SERVER['HTTP_HOST'].
dirname($_SERVER['PHP_SELF']);
/**
* Danach prüfen wir mit der
* PHP Funktion isset(), ob die
* Variable $_GET['dir'] gesetzt
* ist. Sollte dies nicht der
* Fall sein, ermitteln wir mit
* der globalen Variable $_SERVER
* in Verbindung mit der PHP
* Funktion dirname() den absoluten
* Pfad.
*/
if (!isset($_GET['dir'])) $_GET['dir'] =
$_SERVER["DOCUMENT_ROOT"].dirname($_SERVER['PHP_SELF']).
'/';
/**
* Nun öffnen wir den Verzeichnis-Handles
* mit der PHP Funktion opendir() und
* speichern in der Variable $fp die
* Verzeichnis-handle resource.
*/
$fp = opendir ($_GET['dir']);
/**
* Jetzt verwenden wir die Variable
* $fp um mit der PHP Funktion readdir()
* die Verzeichnis-handle resource
* auszulesen und zu speichern in
* der Variable $file
*/
while (false !== ($file = readdir($fp))) {
/**
* Nachdem wir den Dateinamen
* genauer gesagt Ordnernnamen
* in der Variable $file gespeichert
* haben, verwenden wir die PHP-Funktion
* is_file() um herauszufinden
* ob es sich um einen Ordner
* oder Datei handelt.
*/
if (is_file($_GET['dir'].'/'.$file)) {
/**
* Wenn die PHP-Funktion is_file()
* ein True zurückliefert, ist
* es eine Datei. Diese Datei geben
* wir mit den echo Befehl aus.
*/
echo '<a href="'.$url.'/'.$file.
'">'.$file.'</a><br>';
} else {
/**
* Sollte die Funktion is_file()
* ein false zurückliefern,
* ist in der Variable $file
* einen Ordner hinterlegt.
* Diesen geben wir über die
* PHP-Funktion echo aus.
*/
echo '<a href="?dir='.$_GET['dir'].
$file.'/">'.$file.'</a><br>';
}
}
/**
* Als letzten Schritt, nach
* dem wir unsere Schleife abgearbeitet
* haben, schließen wir mit der PHP
* Funktion closedir() das Verzeichnis-Handles.
*/
closedir($fp);
?>

Der Code dient dazu, die Dateien und Ordner eines Verzeichnisses auf einer Webseite anzuzeigen und diese als Hyperlinks darzustellen, damit Benutzer darauf zugreifen können. Hier ist eine Erläuterung des Codes:

  1. Zunächst wird die Adresse, wo sich das Skript befindet, ermittelt, indem die Variable $url erstellt wird. Dies geschieht durch die Zusammensetzung von "http://" mit dem aktuellen Host ($_SERVER['HTTP_HOST']) und dem Verzeichnis, in dem das Skript liegt (dirname($_SERVER['PHP_SELF'])).

  2. Dann wird überprüft, ob die Variable $_GET['dir'] gesetzt ist. Wenn nicht, wird der absolute Pfad des aktuellen Verzeichnisses mithilfe von $_SERVER['DOCUMENT_ROOT'] und dirname($_SERVER['PHP_SELF']) ermittelt und in $_GET['dir'] gespeichert.

  3. Anschließend wird das Verzeichnis-Handle mit opendir() geöffnet und in der Variable $fp gespeichert.

  4. Mit einer Schleife wird durch jedes Element des Verzeichnisses iteriert. Jedes Element wird mit der Funktion readdir() ausgelesen und in der Variable $file gespeichert.

  5. Es wird überprüft, ob das Element eine Datei oder ein Ordner ist, indem die Funktion is_file() verwendet wird. Ist es eine Datei, wird ein Hyperlink mit dem Dateinamen erstellt und ausgegeben. Ist es ein Ordner, wird ebenfalls ein Hyperlink mit dem Ordnernamen erstellt und ausgegeben, wobei dieser Link die Variable $_GET['dir'] verwendet, um den Pfad zum Ordner zu aktualisieren.

  6. Nachdem die Schleife alle Elemente des Verzeichnisses verarbeitet hat, wird das Verzeichnis-Handle mit closedir() geschlossen.

Der Code ist eine nützliche Möglichkeit, um Benutzern den Zugriff auf Dateien und Ordner eines Verzeichnisses über eine Webseite zu ermöglichen.

Funktionen, die im Beispiel verwendet wurden:

if Anweisung – Hiermit können sie verschiedene Fälle prüfen.
echo – Hier wird ihnen erklärt, wie sie mit der PHP Funktion echo einen Text oder Variable ausgeben.
isset() – Prüfen einer PHP Variable.

 

Tags:

 

Artikel hinzufügen bei:
         
Bücherregal mit drei Büchern: 'PHP 4 - Grundlagen und Profiwissen' von Hanser Verlag, 'Webdesign in a Nutshell' von O'Reilly Verlag, und 'Webgestaltung' von Galileo Computing.