Der große Stolperstein in vielen Skripten sind die Zugriffsrechte und zwar vor allem die Schreibrechte. Zahlreiche Anwendungen müssen Informationen in die Datei eintragen und können dies nicht tun, weil die Rechte nicht vorgesehen sind. Wie es um die Zugriffsrechte aktuell bestellt ist, kann der PHP-Befehl is_writeable klären.
Gerade die Schreibrechte sind nicht überall vorgesehen, schon alleine aus Sicherheitsgründen. Lesen darf man die Dateien fast immer, aber das Überschreiben möchte man möglichst unterbinden. Das Beschreiben ist aber für neue Statistikeinträge oder andere Anwendungen von großer Bedeutung.
Webhosting mit viel Software bei Alfahosting (Affiliate-Link)
<?php
$check = "test.txt";
if(is_writeable($check)) {
echo "Die Datei darf beschrieben werden.";
} else {
echo "Die Datei darf nicht beschrieben werden.";
}
?>
Analog zur Technik von is_executable und is_readable funktioniert auch is_writeable. In einer simplen Abfrage wird geprüft, ob die Datei beschrieben werden darf oder nicht. Sind die Zugriffsrechte entsprechend eingestellt, erhält man eine positive Auskunft, andernfalls erfolgt die negative Antwort.
Viele Probleme mit den Zugriffsrechten haben mit den Schreibrechten zu tun, weil mitgeloggt werden soll oder andere Informationen zur Speicherung vorgesehen sind, wobei dies am Server in einer Datei zwecks Protokollierung zu erfolgen hat. Wenn die Datei nicht existiert, kann eine Speicherung ebensowenig erfolgen wie bei einer Datei, die einfach nicht beschrieben werden darf.
Daher macht die Abfrage vor der Verarbeitung Sinn, um sicherzustellen, dass der Datenexport möglich ist. Mit chmod kann man natürlich nachhelfen, aber schon die reine Abfrage ist ein wichtiges Werkzeug, um die Verhältnisse zu klären.
Webhosting bei Alfahosting - jetzt gratis testen! (Affiliate-Link)
Nicht nur Dateien machen bei den Schreibrechte gerne Probleme, auch Verzeichnisse verhindern mitunter, dass man eine Datei abspeichern kann. Das passiert häufig bei Formularanwendungen, wenn auch Bilder mitgeschickt werden und diese in ein gewünschtes Verzeichnis gespeichert werden sollen, das aber das Beschreiben nicht vorgesehen hat.
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