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



Kommentare


(sortiert nach Bewertung / Datum) [alle Kommentare(neueste zuerst)]
✍anonym
erstellt am 25.07.2017 17: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.


Durch die weitere Nutzung der Seite stimmst du der Verwendung von Cookies zu. Mehr Details