modificare parte di una riga di un file di testo

Ciao a tutti,

ho creato un file di testo con il formato di ogni riga X:Y

vorrei scorrere le righe per trovare una X qualsiasi e sostituire la Y con un altro valore

come mi consigliate di procedere?

come faccio a scorrere il file?

PS: il file è univoco

grazie anticipatamente

inviato 10 anni fa
mauro1980
X 0 X

Quanto è grosso il file? Te lo chiedo perché l'approccio da usare per la modifica del file va scelto in base alle dimensioni.

 :bye:

risposto 10 anni fa
Gianni Tomasicchio
X 0 X

al max diventerà 50 righe..

risposto 10 anni fa
mauro1980
X 0 X

Prova qualcosa del genere. Tieni presente che non ho messo controlli sulla correttezza della formattazione delle righe o sulla presenza di righe vuote. Inoltre non dimentidare di aggiungere "\n" ovvero l'accapo ad dato che vai a modificare (come mostrato nel codice).

<?php
$handle = fopen("dati.txt", "r");
$righe = array();
while (!feof($handle)) {
   $buffer = fgets($handle, 4096);
   list($x,$y) = explode(':',$buffer);
   $righe[$x] = $y;
}
fclose($handle);

// non dimenticare lo "\n" in coda al nuovo valore!!!
$righe['brutto'] = 'nuovo valore' . "\n";

$handle = fopen("dati.txt", 'w');
foreach ($righe as $x=>$y)
{
   fwrite($handle, "$x:$y");   
}
fclose($handle);
?>

 :bye:

risposto 10 anni fa
Gianni Tomasicchio
X 0 X

alla grande, funziona perfettamente

ciao e grazie!

 :bye:

risposto 10 anni fa
mauro1980
X 0 X
Effettua l'accesso o registrati per rispondere a questa domanda