per PHP in Dateien schreiben

Um Daten zu archivieren, damit diese weiter bearbeitet 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:

Der Wert 0 wurde gespeichert in der Datei besucherzaehler.txt

Sie können sich die Datei "besucherzaehler.txt" über Ihren Browser ansehen. Geben Sie in der URL ein: http://localhost/besucherzaehler.txt

0

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öffnen 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.

3