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
 ICQ Generator
 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
 
 
 

Informationen über eine Datei mit ein PHP Script ermitteln

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

Informationen über eine Datei mit ein PHP Script ermitteln


Eintrag am:  29.09.2010
Hits / Besucher:  7498
Sprache:  Deutsch
Kategorie:  Einsteiger Tutorials...
Tutorial Art:  eigenes
Eingetragen von    schubertmedia
 
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 können Sie diese Informationen abrufen, indem Sie 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 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 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 können Sie entweder über numerische Indizes oder über die besser merkbaren benannten Indizes zugreifen, also z. B. entweder mit $a[7] oder mit $a['size'], wenn Sie 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:\xampp\php\php.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 unter anderem 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 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:

 

Artikel hinzufügen bei: