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
 
Script Seite

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
 ICQ Generator
 Colorpicker
 Unix timestamp Tool
 TLD Liste
 Webkatalog Verzeichnis

Partner
Sprüche Treff

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

Informationen über eine Datei mit ein PHP Script ermitteln

Sie befinden sich: Home > Php Tutorial > Informationen über eine Da...

Informationen über eine Datei mit ein PHP Script ermitteln



Eintrag am:  29.09.2010
Hits / Besucher:  5910
Sprache: Deutsch
Kategorie:  Fortgeschrittene Tut...
Tutorial Art:  eigenes
 

Beschreibung


Dateien auf der Festplatte besitzen neben ihrem Inhalt und ihrem Namen zusätzliche Informationen, wie z.B. die Dateigröße, das Datum der letzten Änderung und Zugriffsrechte. Unter Windows kann man diese Informationen abrufen, indem man im Windows-Explorer (dem Dateimanager) mit der rechten Maustaste auf eine Datei klickt und den Menüpunkt "Eigenschaften" aufruft. Diese Informationen über Dateien können auch in einem PHP-Skript interessant sein. Stellen Sie sich vor, Sie wollen eine PHP-Anwendung schreiben, die es dem Benutzer erlaubt, Dateien auf dem Web-Server zu verwalten. Dann ist es sicher sinnvoll, wenn der Benutzer Informationen wie z.B. die Dateigröße angezeigt bekommt, oder vielleicht sogar die Möglichkeit, nach Dateien eines bestimmten Änderungsdatums zu suchen. Die Funktion stat() macht Ihrem Skript diese Informationen zugänglich.

Der Syntax:

stat(Dateiname)

Die Funktion erwartet als einzigen Parameter den Namen einer Datei. Sie liefert einen assoziativen Array zurück, in dem die Dateiinformationen gespeichert sind. Auf die Elemente kann man entweder über numerische Indizes oder über die besser merkbaren benannten Indizes zugreifen, also z.B. entweder mit $a[7] oder mit $a['size'], wenn man die Dateigröße ermitteln will [Fußnote 1].

Ein Beispiel soll die Verwendung der Funktion stat() und die Interpretation des Rückgabewertes verdeutlichen:

<?php
    $stat 
stat('D:xamppphpphp.exe');
    if (
$stat != false) {
        if (
is_array($stat) == true) {
            foreach(
$stat as $k => $v) {
                if (
is_numeric($k) == false)
                echo 
'Key = '.$k.' Value = '.$v.'<br>';
            }
        }
    }
?>

Das Beispiel ruft stat() mit dem Namen des PHP-Interpreters auf und speichert den Rückgabewert in der Variablen $stat. Anschließend wird geprüft, ob der Aufruf erfolgreich war - wenn beispielsweise die angegebene Datei nicht existiert, wird der Wert false zurückgegeben. Als zusätzliche Sicherheitsüberprüfung wird noch getestet, ob der zurückgegebene Wert ein Array ist. Sollten beide Prüfungen erfolgreich verlaufen, geht die foreach-Schleife über alle Werte des Arrays und gibt die Schlüssel-Wert-Paare aus, deren Schlüssel nicht numerisch sind. Der Grund für die Überprüfung auf numerische Schlüssel wurde oben bereits angedeutet: Alle Werte des Arrays sind sowohl über numerische als auch String-Indizes erreichbar, die Überprüfung sorgt dafür, dass die Werte nicht mehrmals ausgegeben werden.

Die (gekürzte) Ausgabe des Beispiels kann - je nach verwendetem System - etwa folgendermaßen aussehen:

Key = size Value = 14578112
Key = atime Value = 12887263661
Key = uid Value = 0

Bei der Verarbeitung der Werte ist zu beachten, dass die Informationen nach Unix-Manier abgespeichert sind. Zeitangaben, wie das Datum der letzten Änderung oder das Datum des letzten Zugriffs sind in Sekunden seit dem 1. Januar 1970 gespeichert. Zur Umwandlung in lesbare Zeitangaben stellt PHP geeignete Funktionen zur Verfügung. Ein interessantes Feld im Array hat den Index 'mode' und gibt die Berechtigungen an, die für die Datei gelten. Damit kann geprüft werden, ob eine Datei auf dem Server überschrieben werden kann. Die Angaben über den Besitzer und die Gruppe der Datei sind unter Windows nutzlos, da diese immer auf 0 gesetzt werden (so wie in obiger Ausgabe der Wert für den Schlüssel "uid", was für "User-ID", also den Besitzer steht).

Die Funktion stat() bietet also die grundlegende Funktionalität, um in einer Dateiansicht - etwa in einem Web-basierten Content-Management-System - die Dateigröße sowie Zeit und Datum der letzten Änderung darzustellen.

[Fußnote 1] Hier gehen wir davon aus, dass die Variable $a mit dem Rückgabewert eines stat() Aufrufs belegt wurde.

 

Tags


 

Verlink uns, wenn Dir das Tutorial gefallen hat:
Artikel hinzufügen bei: