Le code n'avait pas changé...

Mais en fait j'ai trouvé d'où venait le bug, en effet array_shift
retourne le contenu du premier élément du tableau, en plus de le raccourcir, donc en fait à la fin de la première boucle, $farray n'était plus un tableau.
D'autres bugs sont venus s'ajouter ensuite mais j'ai résolu ça. Je vous donne le code fini, avec des notes pour ceux qui liront :
CODE
<?
//On récupère le fichier sous forme de tableau
$farray = file("rss/news.xml");
// On supprime les 6 premières lignes
for($i = 1; $i <=6; $i++)
{
$useless = array_shift($farray);
}
// On défini un contenu à ajouter
$content_add = "<item>
<title> Est-ce au bonne endroit ?</title>
<description> Bon bah premier test hein...</description>
</item>\n";
// On définit le contenu des 6 premières lignes que l'on a supprimé
$six_first = "<?xml version=\"1.0\" encoding=\"utf-8\"?>
<rss version=\"2.0\">
<channel>
<title>PcInfo-Web</title>
<link>http://www.pcinfo-web.com/</link>
<description>Communauté et entraide informatique, news informatique et multimédia, tutoriaux...</description>\n";
// ON additionne sixpremiereslignes+contenu à ajouter+contenu après les 6 premieres lignes
$content = $six_first.$content_add.implode($farray);
//On écrase le ficheir avec le nouveau contenu
$fh = fopen("rss/news.xml", "w+");
fwrite($fh, $content);
fclose($fh);
echo 'Effectué';
?>
Voilà, j'espère que ça servira à quelqu'un

Ah aussi en passant : file() inclut déjà le retour à la ligne, donc si dans implode() on définit un retour comme séparateur des éléments du tableau, ca fait deux lignes

Et aussi : quand on fait un retour à la ligne entre guillemets pour le contenu du variable, php le prends en compte, pas besoin de mettre "\n" =)
Voili voilou =) Merci de t'être penché sur mon problème captain torche(pour ne pas dire flamme c'est ça ? =P )

A bientot peut-être =)