PHP Textdateien

Das Lesen und Schreiben in eine Textdatei kann in PHP mit einem einfachen Befehl umgesetzt werden: file_get_contents und file_put_contents  

Datei lesen

file_get_contents("Textdatei.txt");

Datei schreiben

file_put_contents("Textdatei.txt","Text");

Variablen in eine Datei schreiben

Um Variablen in eine Datei zu schreiben gibt es mehrere Möglichkeiten. Folgendes Beispiel ist eine davon, mit Sicherheit aber nicht die Beste:

file_put_contents("values.txt",$variable."##".$wert."\n");
file_put_contents("values.txt",$variable."##".$wert."\n", FILE_APPEND);

Der Variablenname wird dabei vom Wert mit "##" getrennt, jede neue Zeile spiegelt eine neue Variable wieder.

Das Speichern der ersten Variable erfolgt ohne "FILE_APPEND", damit die Datei neu angelegt wird. Alle weiteren Variablen können mit FILE_APPEND in die Datei hinzugefügt werden. Da jede Variable in einer eigenen Zeile steht \n, dürfen die Variablen keine Zeilenumbrüche enthalten.

Variablen aus der Datei einlesen

$data=file_get_contents("values.txt");
$variables = explode("\n", $data); 
foreach ($variables as $variable) {
  $var = explode("##", $variable);
  if (!empty($var[0])){
    ${$var[0]}=$var[1];
    }
}

Durch ${$var[0]} wird eine Variable mit dem Namen der Variable $var[0] geladen, $var[1] ist der Inhalt der zuvor gespeicherten Variable.

Als Format für das Speichern der Variablen könnte auch JSON verwendet werden: json_encode und zum Auslesen: json_decode.

Variablen in JSON

Variablen im JSON-Format in eine Datei speichern

//Variablen definieren
$json = '
{
    "var1": "value",
	"var2": "value2",
	"var3": "value3"
}';
//in eine Datei speichern:
file_put_contents("values.txt",$json);

json_decode

Variablen aus der Datei lesen

//Datei laden
$json=file_get_contents("values.txt");
$obj = json_decode($json);
//einzelne Variable auslesen:
echo $obj->{'var1'};

json_encode

Folgendes Beispiel lädt die zuvor gespeicherte Datei, fügt eine zusätzliche Variable hinzu und speichert alle Variablen:

//Datei laden
$json=file_get_contents("values.txt");
$obj = json_decode($json);
//Variable hinzufügen:
$obj->{'var4'}="value4";
//$obj wieder zurück zu JSON
$json=json_encode($obj);
//und wieder in die Datei schreiben:
file_put_contents("values.txt",$json);

Ein Beispiel um Daten in einer JSON-Textdatei zu speichern, ist folgendes Skript:  Mähroboter-Steuerung Smartplug 

positive Bewertung({{pro_count}})
Beitrag bewerten:
{{percentage}} % positiv
negative Bewertung({{con_count}})

DANKE für deine Bewertung!


veröffentlicht am 07.06.2016 von Bernhard
geändert am 23.06.2016 von Bernhard


Top-Artikel in diesem Bereich

PHP Befehle: Funktionen auf einen Blick

geändert: 23.04.2021 von Bernhard (Erstveröffentlichung: 17.10.2016)

Die verfügbaren PHP-Funktionen (Befehle) können mit der PHP-Funktion get_defined_functions(); aufgelistet werden. ... weiterlesen

Preview PHP reguläre Ausdrücke Regex: preg_match, preg_match_all

PHP reguläre Ausdrücke Regex: preg_match, preg_match_all

geändert: 23.11.2021 von Bernhard (Erstveröffentlichung: 18.10.2016)

Mit regulären Ausdrücken kann ein Text untersucht oder modifiziert werden. Reguläre Ausdrücke ermöglichen das Suchen nach Mustern innerhalb einer Zeichenkette und können Übereinstimmungen extrahieren oder ersetzen. PHP verwendet, wie auch andere aktuelle Skriptsprachen, für die Suchfunktionen PCRE (Perl Compatible Regular Expressions) oder kurz  Regex bzw. RegExp. Regex kann in den meisten Skriptsprachen nahezu gleich verwendet werden, daher habe ich... ... weiterlesen

PHP UTF-8 Umlaute

erstellt: 06.05.2020 von Bernhard

Bei Problemen mit den Umlauten in PHP, liegt das meist an einer falschen Zeichenkodierung. ... weiterlesen


Fragen / Kommentare


(sortiert nach Bewertung / Datum) [alle Kommentare(neueste zuerst)]

✍anonym
erstellt am 25.07.2017 15:07
User: Christian 
Ich suche ein Script, mit den ich die HeavyWeather Datendatei currdat.lst (Text) die mit aktuellen Daten 1x pro Min. erstellt wird, auslesen und darstellen kann.