Mit PHP in Dateien schreiben
Um Daten zu archivieren, damit diese weiterbearbeitet werden können, speichern wir diese in eine Datei ab.
Im folgenden Beispiel speichern wir bei jedem Aufruf der Seite in die Datei „besucherzaehler.txt“ die aktuelle Aufrufanzahl ab.
Im ersten Schritt speichern wir in eine Datei (noch ohne aktueller Anzahl, sondern mit 0)
PHP-Quellcode: in Datei schreiben
<?php
$inhalt = "0";
$handle = fopen ("besucherzaehler.txt", "w");
fwrite ($handle, $inhalt);
fclose ($handle);
?>
Beim Schreiben in eine Datei bekommen wir keine Rückmeldung - also müssen wir uns über den Befehl echo
selber eine Rückmeldung geben.
PHP-Quellcode: in Datei schreiben mit Feedback
<?php
$inhalt = "0";
$handle = fopen ("besucherzaehler.txt", "w");
fwrite ($handle, $inhalt);
fclose ($handle);
echo "Der Wert $inhalt wurde gespeichert ";
echo "in der Datei besucherzaehler.txt";
?>
Im Browser erhalten wir folgende Ausgabe:
Sie können sich die Datei „besucherzaehler.txt“ über Ihren Browser ansehen. Geben Sie in der URL ein: http://localhost/besucherzaehler.txt
Besucherzähler erstellen
Im ersten Schritt wird die Datei „besucherzaehler.txt“ gelesen, damit die Anzahl der bisherigen Besucher bekannt ist. Diese werden dann auf dem Bildschirm ausgegeben und im letzten Schritt wird der neue Wert wieder in der Datei „besucherzaehler.txt“ gespeichert. Der alte Inhalt wird dabei gelöscht.
Für das Arbeiten mit Dateien wird als Erstes ein „handle“ erstellt - die Datei wird geöffnet, dabei wird die Art mitgeteilt, wie die Datei geöffnet wird.
Dateien können in den Modi geöffnet werden:
- nur zum Lesen,
- nur zum Schreiben,
- zum Lesen und Schreiben
- und beim Schreiben, ob angehängt wird
- oder bestehender Inhalt ersetzt.
Mehr dazu unter php.net
PHP-Quellcode: einfacher Besucherzähler mit Anzeige
// Lesen der Datei
$dateinamen = "besucherzaehler.txt";
$handle = fopen ($dateinamen, "r");
$inhalt = fread ($handle, filesize ($dateinamen));
fclose ($handle);
$inhalt = $inhalt + 1;
echo "<p>bisher <b>$inhalt</b> Besucher hier</p>";
// Schreiben des neuen Wertes
$handle = fopen ("besucherzaehler.txt", "w");
fwrite ($handle, $inhalt);
fclose ($handle);
echo "Wert $inhalt in Datei besucherzaehler.txt geschrieben";
Im Browser sehen Sie die Ausgabe der bisherigen Besucheranzahl
bisher 3 Besucher hier
Wert 3 in Datei besucherzaehler.txt geschrieben
In der Datei http://localhost/besucherzaehler.txt finden Sie nur die Zahl der bisherigen Besucher - vergessen Sie nicht den Reload-Button beim Browser zu klicken, nicht dass Sie alte Werte aus dem Cache angezeigt bekommen.
Wenn Sie einen Fehler finden, bitte mitteilen (egal ob Schreibfehler oder inhaltlicher Fehler).
Mit Maus fehlerhafte Stelle markieren und übernehmen mit folgendem Button: