Lo he arreglado cambiando un poco la función y consultando este foro en una publicación anterior (fantástico). El salto de línea hay que ponerlo en otro fputs y todo correcto, repito fantástico
function escribirln($ruta,$file,$arraycadena){
#Abrimos el fichero en modo de escritura
$DescriptorFichero = fopen($ruta.$file,"w");
#Escribimos las lineas de texto
for($i=0;$i<count($arraycadena);$i++){
fputs($DescriptorFichero,$arraycadena[$i]);
fputs($DescriptorFichero,"\r\n");
}
fclose($DescriptorFichero);
}