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!

Fragen / Kommentare


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

✍anonym
25.07.2017 15:12
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.