Ciao, non so se ti può essere utile, cmq io lo uso per modificare ogni campo di ogni singola riga.
Ammesso che tu inserisca i dati attraverso un form, io faccio così:
- file per visualizzare tutte le righe:

Codice PHP:
<table width="90%" border="1" cellspacing="0" cellpadding="1" align="center">
              
              <tr bgcolor="#00477d"> 
                <td height="20" colspan="5" valign="top"><div align="center" class="Stile2 Stile3">[b]Elenco Allievi [/b]</div></td>
              </tr>
              <tr> 
                 <td width="34" height="22" valign="top"><span class="Stile2">ID</span></td>
                 <td width="94"valign="top"><span class="Stile2">Codice allievo</span></td>
                 <td width="229"valign="top"><span class="Stile2">Nome</span></td>
                 <td width="164" valign="top"><span class="Stile2">Cognome</span></td>
                 <td width="78" valign="top"><span class="Stile2">Gestione</span></td>
              </tr>
              <tr>
<td height="22" valign="top"><span class="Stile2">
<?php
$contatore 
0;
$textfile fopen("archivio.txt""r");
while (
$rigafile fgets($textfile,1024)) {
$campiriga explode("|"$rigafile);
echo 
"<tr><td>$campiriga[0]</td><td>$campiriga[3]</td><td>$campiriga[4]</td><td>$campiriga[5]</td><td><a href=\"modifica_riga.php?id=$campiriga[0]\">Mod</a> | <a href=\"cancella_riga.php?id=$campiriga[0]\">Canc</a></td></tr>";
}

fclose($textfile);
?>
</span></td>
              <td></td>
              <td></td>
              <td></td>
              <td></td>
              </tr>
            </table>
- file "modifica_riga.php"

questo è il codice php, poi sempre nella stessa pagina creati un form con
<form method="post" action="aggiorna_riga.php ">
ed in ogni input value inserisci una cosa come questa:
Codice PHP:
<?=$cid?>
per richiamare e stampare la variabile settata all'inizio del file nel codice php.

Codice PHP:
<?php
$id 
$_GET["id"];
$textfile fopen("archivio.txt""r");

while ( 
$rigafile fgets($textfile,1024)) {
 
$campiriga explode("|"$rigafile);
 
$idriga $campiriga[0];

 if (
$idriga == $id) {
$cid $campiriga[0];
$ccorso $campiriga[1];
$csede $campiriga[2];
$ccodice_allievo $campiriga[3];
$cnome $campiriga[4];
$ccognome $campiriga[5];
$canno_nascita $campiriga[6];
$cresidenza $campiriga[7];
$ctitolo_studio $campiriga[8];
$cdiploma_agg $campiriga[9];
$cesperienze $campiriga[10];
$cesperienze_ok EREG_REPLACE("#","\n",$cesperienze);
 }

}
fclose($textfile);
?>
- file "aggiorna_riga.php"

Codice PHP:
<?php
$id 
$_POST["id"];
$textfile fopen("archivio.txt""r");
$textfile_new fopen("archivio_new.txt""a");
 while (
$rigafile fgets($textfile,1024)) {
 
$campiriga explode("|"$rigafile);
 
$idriga $campiriga[0];
 if (
$idriga == $id) {
$ccorso $_POST["corso"];
$csede $_POST["sede"];
$ccodice_allievo $_POST["codice_allievo"];
$cnome $_POST["nome"];
$ccognome $_POST["cognome"];
$canno_nascita $_POST["anno_nascita"];
$cresidenza $_POST["residenza"];
$ctitolo_studio $_POST["titolo_studio"];
$cdiploma_agg $_POST["diploma_agg"];
$cesperienze $_POST["esperienze"];
$cesperienze_ok str_replace("\r\n","#",$cesperienze);

$nuovariga "$idriga|$ccorso|$csede|$ccodice_allievo|$cnome|$ccognome|$canno_nascita|$cresidenza|$ctitolo_studio|$cdiploma_agg|$cesperienze_ok|\n";

  
fwrite($textfile_new$nuovariga);
 } else {
  
fwrite($textfile_new$rigafile);
 }
}
fclose($textfile);
fclose($textfile_new);
unlink("archivio.txt");
rename("archivio_new.txt","archivio.txt");

?>
- infine, file "cancella_riga"

Codice PHP:
<?php
$utente 
$_GET["id"];
$textfile fopen("archivio.txt""r");
$textfile_new fopen("archivio_new.txt""a");
 while (
$rigafile fgets($textfile,1024)) {
 
$campiriga explode("|"$rigafile);
 
$idriga $campiriga[0];
 if (
$idriga <> $utente) {
  
fwrite($textfile_new$rigafile);
 }
}
fclose($textfile);
fclose($textfile_new);
unlink("archivio.txt");
rename("archivio_new.txt","archivio.txt");

?>
Ovviamente, adattalo al tuo file txt, cambiando nome dove serve e metti campi che desideri.
ciao, cicileu