Ciao, a tutti...
Sono un po' parecchio arrugginito...
Devo scrivere una semplice funzione che legga un file di testo in questo formato:

1|6
2|3
3|9

dove il primo numero è la posizione e il secondo è un numero casuale, lo modifichi in questo modo:

1|0
2|0
3|0

La modifica però deve (più o meno..) essere fatta ciclicamente sottraendo ogni volta 1 al secondo campo fino ad ottenere tutti 0. Ho scritto questo codice:

codice:
$textfile = fopen("ciclo.txt", "r")
$textfile2 = fopen("ciclonew.txt","w")

while ($rigafile = fgets($textfile,1024))  {
    $campiriga = explode("|", $rigafile);
    while ($campiriga[1] <> "0")  {
        if ($campiriga[1] == "0")  {
            echo "E' già zero";
        }else{
            echo "Sottraggo 1 al $campiriga[0] campo";
            $campiriga[1] = ($campiriga[1] - 1);
            $rigafile2 = $campiriga[0] . "|" . $campiriga[1] . "\n\r";
            fwrite($textfile2, $rigafile2)
    }
}
fclose($textfile);
fclose($textfile2);
unlink("ciclo.txt");
rename("ciclonew.txt","ciclo.txt")
A grandi linee funziona ma quando aggiungo il rename del file impazzisce e crea disastri...
Posso modificare in tempo reali direttamente il primo file senza doverne creare una copia? Il codice vi sembra corretto?
Grazie a tutti...