Den PHP-Befehl fgets haben wir bereits besprochen, mit dem eine Datei ausgelesen werden kann, die sich auf dem Server befindet. Das Gegenteil ist fputs, mit dem weitere Inhalte in eine Datei eingetragen werden können. Die Grundvoraussetzung ist in beiden Fällen, dass die Datei schon geöffnet ist.
Hat man das Recht, die Datei auch zu beschreiben, dann kann man mit dem Befehl fputs für neue Inhalte sorgen wie zum Beispiel einen neuen Eintrag in einer Protokolldatei.
Webhosting mit viel Software bei Alfahosting (Affiliate-Link)
<?php
$file = "test.txt";
$fp = fopen($file, "a");
$zeile = sprintf("das ist eine neue Zeile");
fputs($fp, $zeile);
fclose($fp);
echo "Das ist der Inhalt der Test-Datei:
";
readfile($file);
?>
Mit dem PHP-Befehl fputs gelingt es, in einer Datei, die es bereits auf dem Server gibt, weiteren Inhalt einzubauen. Im Beispiel wird eine zusätzliche Zeile eingetragen ergo gespeichert, wobei zuerst die Datei festgelegt wird, in der das passieren soll und dann wird die Zeile festgelegt.
Der PHP-Befehl fputs kombiniert beide Einheiten und schreibt die Zeile an das Ende der Datei, wobei hier ein wichtiger Hinweis zu erfolgen hat. Es wäre keine Überraschung, wenn beim Ausprobieren Fehlermeldungen entstehen, die sich auf die "permission" beziehen. Die permission ist die Erlaubnis, was man mit der Datei machen darf und was nicht. Und zwar bezieht sich dies nicht auf das Skript, also die PHP-Datei, sondern auf die angeführte Datei, in der neuer Inhalt geschrieben werden soll - ergo die test.txt im konkreten Fall.
Das Dateisystem und die Zugriffsberechtigungen werden später noch genauer erörtert. Für den aktuellen Fall reicht, dass man die test.txt auf 777 umstellt, wozu die meisten FTP-Programme fähig sind. Ist dies nicht der Fall, hat man per Internet keine Schreibrechte und kann daher die neue Zeile auch nicht speichern. Damit ist auch das Thema Sicherheit angesprochen, weil so verhindert wird, dass irgendein Mensch mit Kenntnis der Datei eine Veränderung durchführen kann.
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