Ho un problema su una scrittura su file che non capisco proprio perchè agisce cosi.

Io ho 2 file, uno che devo aprire in lettura ed uno in scrittura (con append).
Il mio programma deve leggere le righe del primo, copiarle alla fine del secondo e poi devo inserire io, su 3 righe diverse, le stringhe che mi arrivano da un database.

Codice PHP:
if (!$lettura fopen("nomefile","r"))
    { echo 
"Spiacente, non posso aprire il file in lettura"; }

elseif (!
$scrittura fopen("nomefile2","a"))
    { echo 
"Spiacente, non posso aprire il file in scrittura"; }

else {
//qui copio il file
while(!feof($lettura))
        {
        
$linea fgets($lettura);
        
fwrite($scrittura$linea);
    }
}

//e qui aggiungo le righe del database
$linea $resultSeg['ID']." - ".substr($resultSeg['nomi'], 020)." - ".substr($resultSeg['testo'], 040)."\n";
fwrite($scrittura$linea);
fwrite($scrittura$linea);
fwrite($scrittura$linea); 
Ora, la prima parte funziona perfettamente, la seconda invece che creare 3 righe, scrive le cose una di seguito all' altra.
Ho provato a togliere la prima parte e mettere $linea = "Provo \n ad \n andare \n a \n capo \n"; ed anche in questo caso me la scrive tutta di seguito.

Non interpreta quindi il \n come un andata a capo (quando leggendo ogni guida dovrebbe farlo.....).
La cosa che mi sa strana è che se gli faccio leggere invece un altro file col fgets lo copia perfettamente con pure le andate a capo... Quindi, se legge un andata a capo da un file funziona, se gliela do io col \n no....

Motivo?