Wenn man mit einem Skript auf eine Datei am Server zugreifen will, um Informationen darauf zu speichern, braucht man das Recht, diese Datei auch beschreiben zu dürfen. Das ist aber ein Recht, das nicht automatisch vergeben wird, um eine Art Schreibschutz einzurichten und Externe daran zu hindern, Manipulationen durchzuführen.
So groß die Schwierigkeiten auch sind, die viele PHP-Anfänger, aber auch andere Webseitenbesitzer mit den Zugriffsrechten haben, so einfach ist es mit PHP, das Problem zu lösen. Im Grunde braucht man nur eine if-Abfrage und entsprechend des Ergebnisses den chmod-Befehl, um die Zugriffsrechte so anzupassen, wie man es braucht.
Webhosting mit viel Software bei Alfahosting (Affiliate-Link)
<?php
if(file_exists("test.txt) && substr(decoct(fileperms("test.txt")), -3, 3) != "777"){
chmod("test.txt", 0777);
}
?>
Das Beispiel zeigt eine Möglichkeit, wie man den chmod-Befehl einsetzen kann. Zuerst wird abgefragt, ob die Datei die Einstellung 777 aufweist. Wenn sie dies tut, passiert nichts weiter und das Skript wird fortgesetzt. Ist 777 aber nicht gegeben, dann wird per chmod-Befehl diese Einstellung für die Datei gewählt. Wie wir wissen, ist sie dann auch vom Internet aus beschreibbar, wobei man dies nur bei Dateien durchführen sollte, wo dies wirklich nötig ist.
Wichtig ist auch die richtige Anwendung. Oben wurde dem chmod-Befehl 0777 mit auf den Weg gegeben, was kein Fehler ist, sondern vielmehr die richtige Schreibweise. Oftmals wird 777 beim Befehl verwendet und das erzeugt einen Fehler, weil es sich dann um einen dezimalen Wert handelt und chmod braucht den oktalen Wert 0777.
Eine Vorgehensweise wie im obigen kleinen Beispiel wählt man oft dann, wenn ein automatisches Skript erfolgt, denn dort wird nicht ständig überprüft, ob die Datenübertragung funktioniert hat, sondern man baut die Abfrage und die chmod-Änderung ein, um sicherzustellen, dass alles klappen wird, ohne dass man ständig überprüfen muss.
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