Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
5032 connectés 

  FORUM HardWare.fr
  Programmation
  PHP

  fwrite episode 2

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

fwrite episode 2

n°802017
freed102
Arayashiki
Posté le 21-07-2004 à 16:06:12  profilanswer
 

voila.. je vous explique ce que je veux faire...
 
je voudrais creer un fichier texte avec fwrite...
simplement je voudrais qu'il soit mis à jour ce fichier texte... avec par exemple un autre bout de texte dans un endroit bien précis...
 
par exemple je creer cela
 
"bonjour le monde"
 
... et maintenant je voudrais rajouter le mot "tout" entre "bonjour" et "le monde" pour faire  
 
"bonjour tout le monde"
 
vous allez me dire un str_replace c'est trop facile !!!!
mais mon probleme est que je veux entre "bonjour" et "le monde" il y ait un repere qui indique où mon texte doit etre rajouté...
 
exemple
 
bonjour (x) le monde
 
... vous comprennez ou pas ????
 
 
j'explique avec autre chose.. un peu de HTML...
 
je veux un fichier HTML qui serait créé comme suit :
 
<html>
  <body>
    <p>
    <!-- marqueur 1 -->
    </p>
  </body>
</html>
 
et je veux que dans ma mise à jour on rajoute "mon texte est ici !!!"
 
et au resultat ça sera :  
 
<html>
  <body>
    <p>
    mon texte est ici !!!
    </p>
  </body>
</html>
 
 
... vous feriez comment ?
 
Merci !


Message édité par freed102 le 21-07-2004 à 16:07:27
mood
Publicité
Posté le 21-07-2004 à 16:06:12  profilanswer
 

n°802186
T509
$job-&gt;GetJob(now)
Posté le 21-07-2004 à 17:17:50  profilanswer
 

recherche sur le forum :
 
http://forum.hardware.fr/forum2.ph [...] subcat=393


---------------
fermez vos topics résolus avec le tag [Résolu] en fin de titre. Merci !
n°803514
freed102
Arayashiki
Posté le 22-07-2004 à 17:13:49  profilanswer
 


 
Merci ça va bcp m'aider...
 
encore une question...
 
imaginez que j'ai donc ça
 
<!-- marqueur 1 -->
mon texte ici !!!!
<!-- fin marqueur 1 -->
 
est ce que cette fonction pourrait faire un "rechercher/remplacer" de ce qui se trouve entre deux marqueurs ? En francais mon script dirait :
"remplace tout ce qui est entre  
<!-- marqueur 1 -->  
et  
<!-- fin marqueur 1 -->  
par
"mon nouveau texte"
 
???
 
Is it possible ???
 
Merci
 
 
 
 

n°803528
T509
$job-&gt;GetJob(now)
Posté le 22-07-2004 à 17:20:32  profilanswer
 

tout est possible, il faut aller voir la fonction substr()


---------------
fermez vos topics résolus avec le tag [Résolu] en fin de titre. Merci !
n°804251
freed102
Arayashiki
Posté le 23-07-2004 à 12:10:01  profilanswer
 

T509 a écrit :

tout est possible, il faut aller voir la fonction substr()


 
Bon j'ai retrafiqué la fonction de ton post... ça marche :

Code :
  1. function InsereCode($recherche, $remplacement, $fichier)
  2. {
  3. if (is_file($fichier))
  4. {
  5.  //ouverture (lecture)
  6.  $fopened = fopen($fichier, "r" );
  7.  //lecture
  8.  $read=fread($fopened,filesize($fichier));
  9.  //fermeture
  10.  fclose($fopened);
  11.  //recherche et remplace
  12.  $text = str_replace($recherche, $remplacement, $read);
  13.  //ouverture (ecriture)
  14.  $fopened= fopen($fichier, "w" );
  15.  //ecriture
  16.  fwrite($fopened, $text);
  17.  //fermeture
  18.  fclose($fopened);
  19. }
  20. else
  21. {
  22. $fielderreur="Le fichier $fichier n'existe pas <br />";
  23. }
  24. return $text;
  25. }


 
simplement je suis toujours pas dans l'esprit que je voulais... faut que j'y travailles encore !


Message édité par freed102 le 23-07-2004 à 12:10:44
n°804495
freed102
Arayashiki
Posté le 23-07-2004 à 14:49:05  profilanswer
 

T509 a écrit :

tout est possible, il faut aller voir la fonction substr()


 
bon là je lutte un peu...
 
strstr ou strchr me retourne la chaine après l'occurence..
 
genre
 

Code :
  1. $texte="bonjour tout le monde";
  2. echo strstr ($texte, "bonjour" );
  3. //me retourne "tout le monde"


 
... ya pas deja une fonction qui donne la chaine entre deux occurences ????

n°804503
mathix
mathix@jabber.org
Posté le 23-07-2004 à 14:52:01  profilanswer
 

tu peux utiliser une expression régulière
pour ca utilise la fonction "preg_replace"
 

n°804548
freed102
Arayashiki
Posté le 23-07-2004 à 15:18:49  profilanswer
 

mathix a écrit :

tu peux utiliser une expression régulière
pour ca utilise la fonction "preg_replace"


 
Yessssssss !!! ça marche !!!!
 

Code :
  1. function InsereCode2($recherchedebut, $recherchefin, $remplacement, $fichier)
  2. {
  3. if (is_file($fichier))
  4. {
  5.  // ouverture (lecture)
  6.  $fopened = fopen($fichier, "r" );
  7.  // lecture
  8.  $read=fread($fopened,filesize($fichier));
  9.  // fermeture
  10.  fclose($fopened);
  11.  // recherche et remplace
  12.  $pattern="/$recherchedebut.*$recherchefin/s";
  13.  $text = preg_replace($pattern, $remplacement, $read);
  14.  // ouverture (ecritureà
  15.  $fopened= fopen($fichier, "w" );
  16.  // ecriture
  17.  fwrite($fopened, $text);
  18.  // fermeture
  19.  fclose($fopened);
  20. }
  21. else
  22. {
  23. $fielderreur="Le fichier $fichier n'existe pas <br />";
  24. }
  25. return $text;
  26. }


 
werk werk werk !!!!  :bounce:  :bounce:  :bounce:

n°804552
T509
$job-&gt;GetJob(now)
Posté le 23-07-2004 à 15:19:37  profilanswer
 

$motif = "<!-- marqueur 1 -->(.*)<!-- fin marqueur 1 -->";
eregi($motif, $chaine_a_traiter, $resultat);
 
dans $resultat, tu as les morceaux de chaine qui correspondent
(c'est un tableau)
ensuite, tu utilises substr() pour faire les mises à jour


---------------
fermez vos topics résolus avec le tag [Résolu] en fin de titre. Merci !
n°804559
freed102
Arayashiki
Posté le 23-07-2004 à 15:21:23  profilanswer
 

T509 a écrit :

$motif = "<!-- marqueur 1 -->(.*)<!-- fin marqueur 1 -->";
eregi($motif, $chaine_a_traiter, $resultat);
 
dans $resultat, tu as les morceaux de chaine qui correspondent
(c'est un tableau)
ensuite, tu utilises substr() pour faire les mises à jour


 
on dirait que avec ça ça marche bien :
 
  $pattern="/$recherchedebut.*$recherchefin/s";  
  $text = preg_replace($pattern, $remplacement, $read);

mood
Publicité
Posté le 23-07-2004 à 15:21:23  profilanswer
 

n°804655
T509
$job-&gt;GetJob(now)
Posté le 23-07-2004 à 15:53:59  profilanswer
 

oui c'est pareil


---------------
fermez vos topics résolus avec le tag [Résolu] en fin de titre. Merci !
n°804675
freed102
Arayashiki
Posté le 23-07-2004 à 16:02:58  profilanswer
 

T509 a écrit :

oui c'est pareil


 
par contre je comprends pas bien la syntaxe de ça :
 
$pattern="/$recherchedebut.*$recherchefin/s";   :??:  

n°804697
mathix
mathix@jabber.org
Posté le 23-07-2004 à 16:17:21  profilanswer
 

regarde ici pour des explications sur les expressions régulières :
http://cyberzoide.developpez.com/php4/regex/


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  PHP

  fwrite episode 2

 

Sujets relatifs
fopen... fread... fwrite...fwrite et mysql_insert_id()
fonction fwritefwrite panique ??
fwrite, fread...[C] petit problème avec fwrite et fread (resolu)
Souci avec fwrite[C] problème avec la fonction fwrite(...)
[PHP] fwritefread et fwrite [ - Job's Done - ]
Plus de sujets relatifs à : fwrite episode 2


Copyright © 1997-2025 Groupe LDLC (Signaler un contenu illicite / Données personnelles)