Skip to main content

Alles für die Homepage... Scripte, Templates, Workshops und Support

PHP – Zeile(n) in Textdatei editieren

Dieser Artikel beschreibt das editieren und löschen von Zeilen in einer Text Dateien.

Beispieldatei und PHP Code dazu

In diesem Beispiel soll die Zeile mit der Nr. 4

CODE:
4|Lehmann|Hubert|2002.11.01|Oesterreich|M

mit neuen Daten in die Datei geschrieben werden

Die Datei die bearbeitet werden soll:

CODE:
1|Walter|Helmut|2004.02.02|Deutschland|M
2|Meyer|Lisa|2003.12.28|Deutschland|W
3|Müller|Maximilian|2002.05.22|Schweiz|M
4|Lehmann|Hubert|2002.11.01|Oesterreich|M
5|Schulze|Stefanie|2004.01.04|Deutschland|W
6|Wolter|Willy|2002.06.09|Oesterreich|M
7|Thomas|Eva-Maria|2004.01.17|Schweiz|W
8|Schneyder|Jean|2001.09.04|Frankreich|M
9|Clerc|Pascale|2002.11.17|Frankreich|M
10|Benguerel|Sebastian|2003.08.10|Spanien|M
11|Carl|Johanna|2002.10.01|Deutschland|W

Der Code dazu:

CODE:

<?php
// ID was weg soll, kann z.B. Wert aus Formular sein
$edituser_id = 4;

// Datei lesen
$inhalte = file("namensliste.dat");

$gefunden = 0;

// Nochmal öffnen für foreach
$fp = fopen("namensliste.dat", 'w+');
flock($fp, 2) or die('Kann die Datei nicht locken');

foreach ($inhalte as $value) {
$zeile = explode("|",$value);
chop($zeile);
if ($zeile[0] == $edituser_id) {
$gefunden = 1; // Wert wurde gefunden

// Daten die geändert werden sollen zusammensetzen
$neuedaten = "$zeile[0]|Lehmann|Heribert|$zeile[3]|Neuseeland|Mn";

fwrite($fp, "$neuedaten");

// Die anderen Daten wieder in Datei schreiben
} else {
fwrite($fp, "$value");
}
}
fclose($fp);

if ($gefunden) {
echo "Daten Der ID $edituser_id: $neuedaten wurden aktualisiert";
} else {
echo "Keine Daten zum ändern für ID $edituser_id gefunden!";
}

?>

PHP-Script um Zeile aus Datei zu löschen

Beispielhafter Aufbau der Datei:

CODE:
1|Meier|Hans
2|Muster|Max
3|Mustermann|Maximilian
... weitere

Der Code zum löschen einer Zeile

CODE:
<?php

// zu löschende Zeilenid 
$deluser_id = 2;

$inhalte = file("user.dat");

$fp = fopen("user.dat", 'w+');
flock($fp, 2) or die('Kann die Datei nicht locken');

foreach ($inhalte as $value) {
$zeile = explode("|",$value);
chop($zeile);

if ($zeile[0] != $deluser_id) {

fwrite($fp, "$value");
}
}
fclose($fp);

?>

 


Ähnliche Beiträge



Keine Kommentare vorhanden


Du hast eine Frage oder eine Meinung zum Artikel? Teile sie mit uns!

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind markiert *