Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

Sujet : écriture dans fichier. [ Divers / Débutant(e) ] (deck_bsd)

samedi 2 juin 2007 à 16:22:09 | écriture dans fichier.

deck_bsd

Membre Club
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 ]]

samedi 2 juin 2007 à 19:53:03 | Re : écriture dans fichier.

neigedhiver

Salut,

Pourquoi ne pas utiliser SimpleXML ?

samedi 2 juin 2007 à 22:27:44 | Re : écriture dans fichier.

coucou747

Salut
neigedhiver, fait des benchs, a mon avis, simplexml n'arrive pas a la cheville d'un code parse a la main...

une recherche sur exalead vous aurait peut-etre evite de poser cette question
In a dream, I saw me, drop dead...
U were there, U cried...
It was just a dream,
if I die, U won't cry, maybe, U'll be happy

dimanche 3 juin 2007 à 10:04:23 | Re : écriture dans fichier.

deck_bsd

Membre Club
Yop,

et ehu je devrai rechercher quoi sur exalead? Je ne voi pas en quoi cela résoudrait mon problème :D

++
deck_bsd
___________________________________
[ [ Lien ]]

dimanche 3 juin 2007 à 23:10:00 | Re : écriture dans fichier.

amim_123

au lieux d'utiliser le fseek ,supprimer le derner </channel> </rss> puis ajouter votre item puis fermer  le fichier par </channel></rss>

               


lundi 11 juin 2007 à 17:57:30 | Re : écriture dans fichier.

dvdstory

Membre Club
L'erreur est la
if(! $fichier = fopen("flux.xml","a+"))

remplace a+ par r+

if(! $fichier = fopen("flux.xml","r+"))
et reessaye cela devrait marché.

Renseigne toi sur la fonction fopen sur intrnet pour comprendre les différents paramètre de la foncrion
a,a+,r,r+,w,w+



Cette discussion est classé dans : fichier, flux, fwrite, deck, bsd


Répondre à ce message

Sujets en rapport avec ce message

probleme fput ou fwrite [ par mictif ] bonjour voila mon code tout simple et l'erreur que j'obtien... je ne comprend pas pourquoi ca ne marche pas svp help!!! mon code : $monfichier = fop formulaire et fichier texte [ par MrsDallara ] bonjour à tousj'ai un formulaire et je veux donc que son contenu soit envoyé ds un fichier texte. je suis arrivé à la faire en faisant de la sorte:$fp probleme avec fwrite... [ par Teclis01 ] Voila j explique quelques petites choses avant tout !$url contient une url entrée par l utilisateur via un formulaireje veux en fait recuperer le code enregistrement d'un fichier via interface web [ par Ice_juice ] Bonjour,Un ami m'a proposé de venir demander de l'aide ici, suite à mon blocage par rapport à un petit soucis.ma situation est la suivante : j'ai créé Textarea modifier la valeur [ par GrooveRage ] Bonsoir, J'ai un formulaire dans lequel je vérifie que les données rentrées sont bien correctes et si elles ne le sont pas j'aimerais renvoyer un mes ecriture dans fichier [ par Malabarix ] Bonjour tout le monde!Voila, je fais un programme qui doit générer des pages html via une page type sauf qu'il doit changer certains titres et autres Fonctions fopen et fwrite prb [ par TMG Boby ] Salut à tousDonc voilà, j'ai créé un formulaire qui envoie des variables à un fichier de traitement php, celui çi ouvre un fichier javascript ( .js ) fopen ($fichier, "a"); ...serait il f?|an?|ant ? [ par Teclis01 ] voil¨¤ j explik mon probleme ...le script cr¨¦¨¦ le fichier, il ajoute les com national et c est tout !le probleme c est qu il y a des com national mo Les caractères spéciaux (accentués,..) et la fonction fwrite() [ par sagat06 ] Bonjour à tous, j'ai un soucis avec la fonction fwrite().En effet, pour un de mes projets, je dois récupérer  le contenu d'un textarea et l'enregistre Creation de fichier $i++ [ par Neme6 ] Bonjour a tous,   Voila, je veux faire un script aui cree des fichiers type: $i.txt ou $i est un (int)Et a chaque creation, il verifie que $i.txt exis


Nos sponsors

Sondage...

CalendriCode

Janvier 2009
LMMJVSD
   1234
567891011
12131415161718
19202122232425
262728293031 

Consulter la suite du CalendriCode

Appels d'offres



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel BAÏSE, Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 0,390 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.