Durchaus öfter braucht man eine Lösung, um per Skript dynamisch auf Dateien am Server zugreifen zu dürfen. Das Leserecht ist fast immer gegeben, aber wenn man die Datei auch beschreiben können muss, braucht man die Information, ob dieses Recht überhaupt eingeräumt wird.
Eine Möglichkeit, um die Zugriffsrechte einer Datei am Server ermitteln zu können, besteht darin, den PHP-Befehl fileperms zu benutzen. Er liefert ein Ergebnis in 2 Byte Größe, das alle Optionen umfasst, allerdings fängt damit nicht jeder etwas an. Daher kann man den Befehl auch mit präziseren Abfragen bestücken.
Webhosting mit viel Software bei Alfahosting (Affiliate-Link)
<?php
$check = "test.txt";
echo fileperms($check);
echo (fileperms($check) & 4) ? "R" : "-";
echo (fileperms($check) & 2) ? "W" : "-";
echo (fileperms($check) & 1) ? "X" : "-";
?>
Zuerst wird wieder unsere Testdatei definiert und dann mit fileperms abgefragt, welche Dateieinstellung vorliegt. Das Ergebnis ist die angekündigte 2 Byte-Antwort. In der Praxis fährt man deutlich besser, wenn man den Befehl so einsetzt, wie es die drei Abfragen danach zeigen.
Die erste Abfrage kümmert sich um den Lesezugriff. Trifft dieser zu, wird ein R geschrieben, andernfalls erhält man als Ergebnis ein "-". Die gleiche Methode gilt für das Schreiben (W = write) und Ausführen (X = execute) der Datei. Es braucht also zu beginnt logischerweise die Datei samt Pfad, um ein Kriterium zu haben und als zweites die Art und Weise, was überprüft werden soll.
Damit verfügt man über das Rüstzeug, alle drei relevanten Einstellungen abfragen zu können, wobei es mit einer if-Abfrage und dem Befehl chmod eine andere Variante auch gibt, die weit häufiger eingesetzt wird.
Webhosting bei Alfahosting - jetzt gratis testen! (Affiliate-Link)
PHP + Dateisystem ist ein immer noch wichtiges Thema, aber eines, das durch den häufigen Einsatz der Datenbank doch zurückgegangen ist. Trotzdem gibt es zahlreiche Anwendungen, bei denen auf Dateien am Server zugegriffen wird wie Logfiles oder Statistikprogramm mit entsprechenden Auswertungen.
Ein zentrales Thema ist die Dateibearbeitung und das bedeutet, dass man die Datei öffnen können muss, schließen, auslesen oder die Größe ermitteln.
Ein weiterer Bereich beim Dateisystem betrifft die Frage des Dateizustandes oder ob es sich überhaupt um eine Datei handelt oder ob man die Adresse und den Namen eines Verzeichnisses erwischt hat.
Der dritte Bereich betrifft die Zugriffsrechte selbst. Die Datei gibt es, aber darf man sie beschreiben? Wenn nein, kann man mit dem Befehl chmod für eine Änderung sorgen, damit die Statistik die neuen Werte eintragen kann.
Themenseiten
Grundlagen
HTML-Grundlagen
CSS-Grundlagen
Javascript-Grundlagen
PHP-Grundlagen
MySQL-Grundlagen
SEO-Grundlagen
Infos, Tipps, Vermarktung
Webdesign-Lexikon
Online-Werbung
PHP-Codeschnipsel
Praxisartikel