Place du pointeur

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : Place du pointeur

par nefert@ri » 04 janv. 2008, 18:58

Bonjour,

J'ai enfin réussi !!!! Voici mon code :

Code : Tout sélectionner

$a_ecrire = "aaaa"; $fichier="dadafaf.xml"; $fp=fopen($fichier, "r+"); if ($fp==false) {echo "Une erreur s'est produite lors de la récupération des données de dadafaf.xml."; exit;} $a_trouver='</data>'; $contenu=file_get_contents($fichier); $position=strpos($contenu, $a_trouver); if ($position==false) {echo "Une erreur s'est produite lors du calcul de la position de data."; exit;} $lecture=fread($fp, $position); if ($lecture===false) {echo "Une erreur s'est produite lors de la lecture dadafaf.xml."; exit;} $fichier_modifie="$a_ecrire</data>"; $ecrire=fwrite($fp,$fichier_modifie); if ($ecrire==false) {echo "Une erreur s'est produite lors de l'écriture des données dans dadafaf.xml."; exit;} fclose($fp); echo "Bravo.";
Merci pour l'aide précieuse.

par nefert@ri » 03 janv. 2008, 18:48

Je ne sais pas ce que je fais faux, mais cela ne marche toujours pas. Voici mon code :
$fichier="timelines/chronologie.xml";
$contenu=file_get_contents($fichier);
$a_trouver="<data>";
$position=strpos($contenu, $position);
$fichier_modifie=substr($contenu, $position).$a_ecrire;
file_put_contents($fichier,$fichier_modifie);
Merci malgré tout.

par @rthur » 02 janv. 2008, 16:37

Exact, j'avais pas correctement saisi ce que tu voulais faire, c'est plus clair avec un exemple...

La solution est de récupérer l'ensemble du contenu de ton fichier texte (file_get_contents() ) puis de rechercher la position de là où tu veux faire une insertion (strpos() ) puis de créer la nouvelle chaîne de caractère avec ton contenu inséré à l'endroit voulu (cf concaténation des chaînes de caractères + substr() ) et enfin tu remets tout dans le fichier (file_put_contents() )

par nefert@ri » 02 janv. 2008, 16:30

Je connais déjà les différents modes, mais le problème c'est que je voudrais placer mon texte à l'intérieur de la page, juste après le mot événement ou juste avant le point :

Code : Tout sélectionner

1ère ligne 2ème linge événement //mon texte devrait se placer ici... 4ème ligne 5ème ligne //... ou ici .

par @rthur » 02 janv. 2008, 16:19

Bonjour,

Regarde les différents modes possibles pour la fonction fopen()
http://fr.php.net/fopen

Place du pointeur

par nefert@ri » 02 janv. 2008, 16:06

Bonjour,

Comment, lors de l'édition d'un fichier texte à l'aide de php, placer le pointeur après (ou avant) une certaine chaîne de caractère tout en évitant que le texte que l'on ajoute n'efface tout sur son passage ?

Merci de votre aide.