Teil von  SELFPHP
Letztes Update: 14.09.2007 09:07:01

Navigation

Seite Startseite
Seite Aktuelles
Seite Seite News*
Seite Seite Pressemitteilungen*
Seite SELFPHP
Seite Seite Über SELFPHP
Seite Seite Werbung
Seite Seite Kontakt
Seite Seite Unsere Banner
Seite Seite Impressum
Seite Qozido
Seite Seite Diving Edition
Seite Seite Snorkeling Edition
Seite SELFPHP Dokumentation
Seite Seite PHP-Skripte
Seite Seite PHP Befehlsreferenz
Seite Seite PHP 5 Praxisbuch
Seite Seite PHP Code Snippets
Seite Seite SELFPHP in Buchform
Seite Anbieterverzeichnis
Seite Seite Globale Branchen
Seite Seite Webhosting/Server
Seite Services
Seite Seite Forum*
Seite Seite RSS-Feeds*
Seite Seite Downloads*
Seite Seite Gratis-Video-Lektionen*
Seite Seite SELFPHP auf Heft-CD*
Seite Seite Newsletter*
Seite Internet Security
 sponsored by  
Seite Stellenangebote*
Sedo - Bei uns wird PHP großgeschrieben
Seite Premium-Partner   
Webhosting/Serverlösungen
Seite Produktempfehlung   
Seite Seite SteadyBackup

 
* Link führt ins Internet


Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!  
 


SELFPHP Forum
Fragen rund um die Themen PHP? In über 100.000 Beiträgen finden Sie sicher die passende Antwort!*  


Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname: 
Name:
E-Mail:
 




 

Alle Bilder eines Verzeichnisses auflisten


Systemvoraussetzung

  • Linux
  • Windows
  • PHP 4 >= 4.3.0
  • PHP 5

Datei(en)

imagesVerz.php

Problem

Sie haben ein Verzeichnis mit Bildern und möchten diese auf Ihrer Website verlinken. Neben den Bildern befinden sich in diesem Verzeichnis allerdings auch andere Dateien wie z. B. PHP-Dateien oder TXT-Dateien, die nicht angezeigt werden sollen. Außerdem wollen Sie nicht nur eine Verlinkung zu den Bildern, sondern auch die Dateigröße sowie die letzte Aktualisierung anzeigen.

Lösung

Bei näherem Betrachten des Problems wird klar, dass die Lösung nur ein Schleifendurchlauf sein kann, der jede Datei auf ihre Endung überprüft und das Ergebnis ausgibt. Zum Glück steht uns hier wieder eine PHP-Funktion hilfreich zur Seite, die uns sehr viel Arbeit abnimmt. Wir durchlaufen zwar das Verzeichnis, lassen aber jede Datei durch die Funktion glob() überprüfen.

Wir müssen lediglich das Verzeichnis und die Dateiendung angeben, den Rest erledigt die Funktion. Findet sie eine Datei, erhalten Sie als Rückgabewert den Pfad zu der Datei. Somit haben wir direkt die korrekte Pfadangabe für die Darstellung.

Bitte beachten Sie, dass die Funktion glob() nicht mit entfernten Dateien auf einem anderen Server arbeiten kann. Die zu suchenden Dateien müssen sich auf dem gleichen Server befinden.

function listPicture($dir=".",$type="jpg")
   @param   string   $dir
   @param   string   $type
   @return   array    $picture

Als Erstes übergeben wir unserer Funktion das Verzeichnis und die Dateiendung ($pic = listPicture("bilder/","gif");) für unsere Verzeichnisauflistung (45). Sollten Sie der Funktion leere Werte übergeben, wird das aktuelle Arbeitsverzeichnis nach der Dateiendung jpg durchsucht. Die Funktion glob() (47) durchläuft das komplette Verzeichnis und sucht nach der gesuchten Dateiendung – gibt es einen Treffer, so wird der Pfadname (48) inkl. Dateiname, der Dateigröße (49) (hier erfolgt schon die Umrechnung in KB) sowie des letzten Aktualisierungsdatums (50) der Datei in das Array $picture gespeichert. Ist das Verzeichnisende erreicht, wird mit return (54) das Array zurückgegeben.

45:
46:
47:
48:
49:
50:
51:
52:
53:
54:
55:
56:
57:
function listPicture($dir=".",$type="jpg") {
    
$x 0;
    foreach (
glob($dir."*.".$type) as $filename)    {
        
$picture[$x]['file'] = $filename;
        
$picture[$x]['size'] = filesize($filename) / 1024;
        
$picture[$x]['time'] = filemtime($filename);
        
$x++;
    } 
    
    return 
$picture;
}

$pic listPicture("bilder/","gif");
Beispiel 7.1: imagesVerz.php

In $pic haben wir jetzt alle Bilder gespeichert, wir müssen lediglich den Inhalt korrekt auflisten. Aus diesem Grund durchlaufen wir das vollständige Array (66). Selbstverständlich hätten Sie das auch direkt in der Funktion listPicture() machen können, besser ist es jedoch, beide Aufgaben zu trennen. Jetzt müssen wir lediglich die Ausgabe korrekt darstellen, also einen Link (72) zu der Datei erstellen und das Datum (74) sowie die Dateigröße (73) formatieren.

66:
67:
68:
69:
70:
71:
72:
73:
74:
75:
76:
77:
for($x=0;$x<count($pic);$x++) {
    
    
$file    =    $pic[$x]['file'];
    
$size    =    number_format($pic[$x]['size'], 1',''.');
    
$date    =    date("d.m.Y, H:i:s"$pic[$x]['time']);
    
    echo 
'<a href="'.$file.'">'.$file.'</a>';
    echo 
' (Größe: ' $size ' KB - ';
    echo 
'Letzte Änderung: ' $date ')';
    echo 
'<br><br>';

}
Beispiel 7.2: imagesVerz.php

Das Ergebnis unserer Bilderauflistung würde in unserem Fall folgendermaßen aussehen. Sie werden sicherlich die Darstellung anpassen – das ist auch gewünscht.

bilder/linuxpenguin. gif (Größe: 191,4 KB – Letzte Änderung: 12.03.2006, 11:28:30)
bilder/linux.gif (Größe: 1,5 KB – Letzte Änderung: 12.03.2006, 11:28:20)
bilder/windows.gif (Größe: 1,9 KB – Letzte Änderung: 12.03.2006, 11:59:25)


 




 sponsored by

Sedo - Bei uns wird PHP großgeschrieben


VERIO - An NTT Communications Company


HighText iBusiness


Webspace-Verkauf.de


video2brain




 Premium-Partner
 Webhosting/Serverlösungen

BPI-Systeme


Premium-Partner Pixel X


Premium-Partner First Colo


Premium-Partner dogado Internet




Qozido


© 2001-2008 E-Mail SELFPHP - Damir Enseleit, info@selfphp.deImpressumKontakt