cr: zeilenweise bearbeiten einer textdatei

Beitrag lesen

hallo liebes forum,

ich möchte gerne eine txt datei zeilenweise bearbeiten. ein script in php habe ich mir bereits gebastelt, leider mit einem kleinen problem. das script liest die datei mit file() in ein array ein, dann öffnet es die datei mit fopen() und bearbeitet diese dann. wenn nun jemand dazwischenfunkt, kann es sein, dass der dazwischenfunker überschrieben wird oder etwas anderes passiert. wie bekomm ich mit fopen() den inhalt in ein gleiches array wie mit file()? das wäre doch ein weg der lösung des problems, oder sehe ich das falsch?

hier mal der erste entwurf des scripts:

<form action="" method="post">
<input type="text" name="user"><br>
<input type="text" name="wert"><br>
<input type="submit">
</form>

<?php
if(isset($_POST[user]))
{

$datei = "test.txt";
$ersetzen = $_POST[wert];
$user = $_POST[user];

$datei_inhalt = file($datei);
$datei_handle = fopen("test.txt", 'w');
foreach($datei_inhalt as $inhaltzeile)
{

$inhaltzeile = explode("|", $inhaltzeile);
if($inhaltzeile[0] == $user)
{
$inhaltzeile[1] = $ersetzen;
}
$inhaltzeile = implode("|", $inhaltzeile);

fwrite($datei_handle, $inhaltzeile);
}
fclose($datei_handle);

}

?>

Inhalt der test.txt:

user1|hinweis des users|
user2|hinweis des users2|

usw

danke für eure hilfe.

cr