Hello,
$fh = fopen($dateiname, 'r+');
$lock_ok = flock($fh, LOCK_EX);
$file = fread($fh, filesize($dateiname));
$_file = explode("\n",$file);
bis hierhin klappt es auch
Dann solltest Du Dir Deine Liste nicht kaputtmachen mit dem nächsten Statement
$_zeile[$znr] = explode("|",$_file[$znr]);
in $file ist die gesamte Datei als String gespeicht.
in $_file ist dann nach dem explode die Datei als Array von Zeilen gespeichert
in $_zeile wäre dann, wenn du es für alle Zeilen machst, das Array der Zeilen, die aufgeteilt in Felder sind, gespeichert.
$_zeile = array(); ## leeres Array bereitstellen
foreach($_file as $key => $val) ## jede Zeile in $_file bearbeiten
{
$_zeile[$key] = explode('|',rtrim($val));
}
Du kannst dann über
echo $_zeile[$zeilennummer][$feldnummer];
auf jedes (vorhandene) Feld der "Tabelle" zugreifen und es auch schreibend manupulieren.
Um den Vorgang rückgängig zu machen, die Daten also wieder als im File ablegen zu können, verpackst Du erst die Zellen wieder
foreach ($_file as $key => $_val)
{
$_file[$key] = implode('|',$_val); ## aus den Teilarrays Strings machen
}
und verpackst dann das Array aus Zeilen wieder in einen String
$file = implode("\n",$_file); ## Zeilenumbruch nach jedem Teilstring
$file kannst Du dann wieder in die Datei zurückschreiben.
Zur Kenntlichmachung, ob der erwartete Wert ein Skalar oder ein Array ist, nutze ich immer den Unterstrich
$file sollte einen Skalar oder einen String enthalten
$_file sollte ein Array sein
Das ist von mir frei, aber analog zu $_POST, $_GET, $_SERVER usw. gewählt und hat sich bewährt.
Ich kann meine Scripte so viele leichter lesen :-)
Schau Dir bitte auch
http://www.php.net/manual/en/language.types.string.php
an.
Außerdem solltest Du beachten, dass bei diesem Verfahren in den Feldwerten bestimmte Zeichen nicht vorkommen dürfen. bei Dir sind dies:
| Feldtrenner
"\n" Zeilenendezeichen
Das gibt sonst durcheinander
Harzliche Grüße vom Berg
http://www.annerschbarrich.de
Tom
Fortschritt entsteht nur durch die Auseinandersetzung der Kreativen
Nur selber lernen macht schlau
![](http://bitworks.de/~selfHTML/Virencheck.gif)