Yop à tous,
Voila j'ai mon fichier de flux rss présenté comme ceci :
<?xml version="1.0" encoding="iso-8859-1" ?>
<rss version="2.0">
<channel>
<title>Ajout de programmes</title>
<link>http://deck-bsd.eurower.net</link>
<description>Ajout de programmes</description>
<item>
<title>Test et notification des programme compatible windows vista.</title>
<link>http://deck-bsd.eurower.net</link>
<description>Test et notification des programme compatible windows vista.</description>
<pubDate>Mon, 15 Apr 2007 12:00:00 GMT</pubDate>
</item>
</channel>
</rss>
Et j'ai créer un formulaire pour me permettre d'ajouter un flux automatiquement . Seulement voila j'ai un problème. Je voudrait écrire mon nouvel item la ligne en dessous du dernié </item> de mon fichier. J'ai donc crée le code suivant :
<?
$titre = $_POST['textfield'];
$url = $_POST['textfield2'];
$desc = $_POST['textfield2'];
$dpub = $_POST['textfield3'];
if(! $fichier = fopen("flux.xml","a+"))
{
echo "Erreur fopen : flux.xml file";
}
else
{
while (!feof($fichier))
{
$buffer = fgets($fichier,300);
if(strcmp($buffer,"</item>") == 0); // recherche du dernier </item>
{
$posi = ftell($fichier); // on sauvegarde la position où on est arrivé.
}
}
fseek($fichier,$posi,SEEK_SET);
fwrite($fichier,"\n\t\t<item>");
fwrite($fichier,'<title>'.$titre.'</title>');
fwrite($fichier,'<link>'.$url.'</link>');
fwrite($fichier,'<description>'.$desc.'</description>');
fwrite($fichier,'<pubDate>'.$dpub.'</pubDate>');
fwrite($fichier,"\n\t\t</item>");
fclose($fichier);
}
?>
Cela m'écri bien ce que je veux, mais pas à la bonne place. Il me l'écrit tjrs en fin de fichier . On dirait que mon fseek() n'est jamais pris en compte. Quelqu'un peut-il m'aider svp ?
Merci d'avance.
++
deck_bsd
___________________________________
[
[ Lien ]]