Edition de fichier html

Bonjours, est-il possible d'éditer un fichier html avec le contenu d'un fichier txt créé avec:

<?

$fp = fopen("text.txt","w+" );

fputs($fp, "" );
fputs($fp, $_POST['url']);

fclose($fp);

?>

Je veux dire par là que le fichier html serait modifié (exemple: une phrase)

12 réponses

  1. Si ta question est: Est-ce possible de créer, modifier, ou ajouter des données dans un fichier quelconques (.txt, .html, ...) avec le php, c'est tout à fait possible...
    1. Je reformule ma question:

      Bonjours, est-il possible d'éditer un fichier html à un endroit spécifique. Je connais ça pour l'instant:

      <?

      $fp = fopen("test.html","w+" );

      fputs($fp, "" );
      fputs($fp, $_POST['url']);

      fclose($fp);

      ?>

      Je veux dire par là que le fichier html serait modifié (exemple: une phrase)
      1. Pardon d'être encore eu,,, rabat-joie, mais "à un endroit spécifique" ca veut dire une ligne spécifique du fichier, ou un groupement de ligne ? => dans ce cas tout à fait possible... Mais sais-tu au départ ce que tu cherches dans le fichier? une chaine de caractère connus?
    2. Et bien ce serait une ligne spécifique du fichier.

      Et oui, je sais ce que je cherche dans le fichier.

      ps: je n'ai pas encore créé ce fichier html, mais je sais à quoi il ressemblera et à quoi il servira.
      Je cherche notamment à faire en sorte que grâce au formulaire le type puisse modifier l'adresse de l'inclusion situé dans le fichier html.
      1. <?
        $chainerecherche= // Ce que tu recherche
        $chaineremp= // Chaine à mettre à la place de la précédente
        $fichier= "nom_du_fichier"; // Nom du fichier

        $chaine= fichier($fichier);
        if (ereg($chainecherche,$chaine)){
        $chaine=str_replace($chainerecherche,$chaineremp,$chaine);
        ajouttxt($fichier,$chaine);
        }

        function ajouttxt($fichier,$txt=''){
        if ($txt==""){ // Lit le fichier
        $fp = fopen ($fichier, "r");
        $contenu_du_fichier = fgets ($fp);
        return $contenu_du_fichier;
        }else{ //Ecris dans le fichier
        $fp = fopen($fichier, 'w');
        fwrite($fp, $txt);
        }
        close $fp;
        }

        ?>

        PS: J'ai pas testé le code...
        Les 2 premières lignes sont à renseigner pas toi...
        1. Mais si je veux faire en sorte de modifier le contenu (à l'endroit spécifique) avec les données d'un formulaire d'envoie type "post".
          Je vois pas comment faire avec ton script.
          1. effectivement...
            Je viens de modifier mon script

            ex:
            $chainerecherche='<form name=form0 method="post">';
            $chaineremp='<form name=form1 method="post">';
        2. Quand tu écris: "$chainerecherche='<form name=form0 method="post">'; "
          C'est un exemple que veut dire que tu recherche "'<form name=form0 method="post">';" ?

          Et quand tu écris: "$chaineremp='<form name=form1 method="post">';"
          Cela veut dire que tu remplace ce qui est recherché par ce qu'à écris le type dans le formulaire ?
          1. $chainerecherche => est la chaine à recherché

            $chaineremp => est la chaine qui remplacera ce qu'il y a à rechercher^^. Attention, cette méthode va remplacer TOUTES les chaines identiques à $chainerecherche dans le fichier. A toi de mettre un truc, qqch qui fera qu'il ne pourra y en avoir qu'un dans le fichier html....

            donc rechercher "1" est un peu une chaine mince...
        3. Je viens de tester:

          $chainerecherche='1';// Ce que tu recherche
          $chaineremp='<form name=url method="post">'; // Chaine à mettre à la place de la précédente
          $fichier= "test.html"; // Nom du fichier

          $chaine= fichier($fichier);
          if (ereg($chainecherche,$chaine)){
          $chaine=str_replace($chainerecherche,$chaineremp,$chaine);
          ajouttxt($fichier,$chaine);
          }

          function ajouttxt($fichier,$txt=''){
          if ($txt==""){ // Lit le fichier
          $fp = fopen ($fichier, "r");
          $contenu_du_fichier = fgets ($fp);
          return $contenu_du_fichier;
          }else{ //Ecris dans le fichier
          $fp = fopen($fichier, 'w');
          fwrite($fp, $txt);
          }
          fclose($fp);
          }

          Je l'ai donc modifier à ma guise. Et déja, il y a une faute: c'est pas plutôt "fclose($fp);".
          Mais bon, sinon autrement il y a un problème: ça me met ça: "Fatal error: Call to undefined function fichier() in /home/arbilus/public_html/1.php on line 35"

          La ligne 35 c'est: "$chaine= fichier($fichier);"
          1. Ligne 35 à remplacer par:
            $chaine= ajouttxt($fichier);
        4. Maintenant ça me met:

          "Warning: ereg() [function.ereg]: REG_EMPTY in /home/arbilus/public_html/1.php on line 36"

          ligne 36 = if (ereg($chainecherche,$chaine)){
          1. essai plutot avec :
            if (ereg($chainerecherche,$chaine)){
        5. ça fonctionne: pas de message d'erreur.

          Par contre ça modifie bien la ligne demandé...

          Exemple: j'ai pris un fichier que j'ai nommé test.html, ce fichier a pour code:
          sqdlfkqsdfklj<br><br>1qfafazjlkhoisdfjljklqdfoi<br><br><br>DSFLJKDFQF<br>


          Ce qui donne à l'affichage:

          sqdlfkqsdfklj
          
          1qfafazjlkhoisdfjljklqdfoi
          
          
          DSFLJKDFQF


          Et une fois le script mis en marche, le fichier a pour code:
          sqdlfkqsdfklj<br><br><form name=url method="post"><br><br><br>DSFLJKDFQF<br>


          Ce qui affiche:
          sqdlfkqsdfklj
          
          
          
          
          DSFLJKDFQF


          En faite avec le script que tu m'a donné ça interprète
          <form name=url method="post">
          comme un nouveau "message" et non comme une commande pour interpréter les données transmises par le formulaire d'envoi.
          1. Donc comment faire pour remplacer par les données du formulaire ?
            1. Att, je comprend plus. Au départ, je voulais transformer une partie de ton fichier html, par une autre. (Ce que j'ai fait via le code que je t'ai passé)

              Maintenant, j'ai un peu de mal à voir ce que tu veux: Si je vois bien, tu veux lire une donné dans le fichier (sans la connaitre) et que tu veux remplacer par une autre donnée ?
          2. Problème réglé. Merci pour le temps que tu as passé à cela. ça m'a beaucoup aidé.