Schnipsel: PHP-Zauberei mit Textdateien

Flat-File CMS‘ sind in Mode und perfekt für kleinere bis mittlere statische aber auch (je nach dem wie groß) dynamische Projekte geeignet. Flat-File Systeme sind allerdings schwer zu finden, also Gute. Die richtig guten Systeme sind kostenpflichtig und die richtig schlechten, gibt es wie Prostituierte im Rotlichtviertel. Der Nachteil: Die meisten älteren System werden nicht mehr aktualisiert – sehen aber schick aus. Das sorgt dann dafür, dass man gerne darauf zurückgreift und das ist falsch.

Die beliebtesten Flat File CM Systeme sind Kirby und Grav. Die Medien berichten gelegentlich von ihnen und es gibt nichts zu meckern. Kirby ist allerdings kostenpflichtig. Die meisten anderen kannst du ignorieren und vergessen.

In diesem Beitrag gebe ich dir ein paar alte Schnipsel von mir weiter, die dir „erklären“ wie du mit PHP in Textdateien schreibst, sie editierst, leerst und anlegst. Die „Erklärungen“ sind im Gist selbst zu finden. Hast du dir das Ganze einmal angesehen und verinnerlicht, steht dem eigenem Flat File CMS‘ eigentlich nichts mehr im Wege.

<?php
/**
 * Datei erstellen
 */
$file = fopen( 'file.txt', 'r' ) or die( 'Geht nicht!' ); // file.txt ist die Datei und r steht für's Lesen
fclose( $file ); // Hier wird die Datei wieder geschlossen

/**
 * Datei lesen
 */
$file    = fopen( 'file.txt', 'r' ) or die( 'Geht nicht!' ); // file.txt ist die Datei und r steht für's Lesen
$content = fread( $file, filesize( 'file.txt' ) ); //$file ist die Datei und filesize gibt an, wie lang der Inhalt ist
fclose( $file ); // Hier wird die Datei wieder geschlossen

/**
 * Inhalt überschreiben
 */
$file    = fopen( 'file.txt', 'r' ) or die( 'Geht nicht!' ); // file.txt ist die Datei und r steht für's Lesen
$content = fread( $file, filesize( 'file.txt' ) ); //$file ist die Datei und filesize gibt an, wie lang der Inhalt ist
fwrite( $file, $content ); // $file ist die Datei und $content der Inhalt, der rein soll - überschreibt so den alten Inhalt
fclose( $file ); // Hier wird die Datei wieder geschlossen

/**
 * Inhalt bearbeiten
 */
$file    = fopen( 'file.txt', 'r' ) or die( 'Geht nicht!' ); // file.txt ist die Datei und r steht für's Lesen
$content = fread( $file, filesize( 'file.txt' ) ); //$file ist die Datei und filesize gibt an, wie lang der Inhalt ist
fclose( $file ); // Hier wird die Datei wieder geschlossen

/**
 * Inhalt hinzufügen
 */
$file = fopen( 'file.txt', 'w' ) or die('Geht nicht!'); // file.txt ist die Datei und r steht für's Lesen
fwrite( $file, $content ); // $file ist die Datei und $content der Inhalt, der rein soll - überschreibt so den alten Inhalt
$content_2 = "Sonstiger Inhalt!\n" . $content; // Fügt neuen Inhalt hinzu und setzt den anderen darunter.
fwrite( $file, $content_2 ); // $file ist die Datei und $content der Inhalt, der rein soll - überschreibt so den alten Inhalt
fclose( $file ); // Hier wird die Datei wieder geschlossenCode-Sprache: PHP (php)

Du hast Fragen zum Code? Nutze die Kommentierfunktion!

Wenn du jetzt noch nach ’nem einfachen PHP Framework suchst, aber keine Lust hast, ein Großes für dein kleines Projekt zu verwenden, kannst du dir das einfache Möchtegern-Framework von mir auf Github ansehen. Es gibt dazu keine großartige Dokumentation. Das ist zum Anschauen, rumbasteln und experimentieren.