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

  FORUM HardWare.fr
  Programmation
  PHP

  [PHP] remplacer une chaine de caractères dans un .ini [resolu]

 



 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[PHP] remplacer une chaine de caractères dans un .ini [resolu]

n°229827
ofbdood
Posté le 17-10-2002 à 22:37:18  profilanswer
 

Bonjour,
 
voilà j'expose brièvement mon pb :
 
donc je desire modifié une ligne par une autre dans un .ini (cette ligne peut y etre plusieurs fois)
 

Code :
  1. //modifie les valeurs d'upload de groups.ini
  2. $fp = fopen("c:\\program files\\g6 ftp server\\groups.ini", "r+" );
  3. while (!feof($fp)){
  4. $buffer = fgets($fp, 4096);
  5. $valid=eregi("MaxSpeedRcv=5000",$buffer);
  6. if ($valid){
  7. $buffer = eregi_replace('MaxSpeedRcv=5000','MaxSpeedRcv=16000',$buffer);
  8. fputs($fp,"$buffer",4096);
  9. }
  10. }


 
voilà donc ça cherche la chaine 'MaxSpeedRcv=5000' et si ça la trouve ça la remple par celle ci : 'MaxSpeedRcv=16000'
 
le pb c'est que ça me modifie pas mon .ini alors qu'il trouve bien les chaines et qu'il met bien la bonne valeur dans $buffer.
c'est apparement au niveau du "puts" mais je vois vraiment pas...
 
merci d'avance !!!


Message édité par ofbdood le 18-10-2002 à 19:06:13
mood
Publicité
Posté le 17-10-2002 à 22:37:18  profilanswer
 

n°229871
ethernal
Chercheur de vérité...
Posté le 18-10-2002 à 00:59:29  profilanswer
 

je vois pas trop... pas de message d'erreur ?  
Tu fais un fclose($fp) ?
Il peut arriver que le fichier ne soit pas écrit tout de suite et que les modifications ne soient faites que lors de la fermeture du fichier (fclose)...
 
sinon, met l'écriture en dehors de ta boucle.
une seule écriture avec un fwrite($fp,$buffer,sizeof($buffer));


Message édité par ethernal le 18-10-2002 à 01:01:22

---------------
...oups kernel error...
n°229894
ofbdood
Posté le 18-10-2002 à 07:02:51  profilanswer
 

oui il y a un fclose à la fin (j'ai oublié de le mettre..)
sinon pour le fputs je susi obliger de le mettre dans ma boucle sinon il l'ecrira à chaque fois (chaque ligne du .ini)
en testant simplement le fputs juste après le fopen ça marche...mai sla dans mon cas precis il veux rien savoir... :'-(

n°230183
ofbdood
Posté le 18-10-2002 à 16:19:48  profilanswer
 

alors personne peut me sauver là ? :'(

n°230273
ofbdood
Posté le 18-10-2002 à 19:05:41  profilanswer
 

bon voilà j'ai trouver enfin à moitié.
 
en fait je crée un fichier tmp vide et je lis le .ini ligne par ligne quand il trouve la ligne à modifier il la modifie et la copie vers le tmp sinon il copie sans modifier les lignes.
après j'efface l'ancien .ini et je renomme le .tmp en .ini  
voilà ça marche très bien puis vu que c un petit fichier c pas grave si c moins bien optimiser...
 
enfin si jamais qqun trouve mon erreur je veux bien la connaitre :)
 
merci


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

  [PHP] remplacer une chaine de caractères dans un .ini [resolu]

 

Sujets relatifs
Cherche un Développeur PHP passioné de JV pour Site Xbox :)[PHP] Si tu trouves pas mon include dis le moi !!!
problème unix-windows (résolu)[PHP]Problème avec fonction de recherche
renverser une chaine de caractere[PHP] - "max_user_connection"
[PHP] Question aux utlisateurs de phpBB (ver. 2.0.3) [Newbie]Caracteres particuleirs en C
[PHP] Order by une variable ???Bonjour .. possible de créer une variable globale entre 2 scripts PHP?
Plus de sujets relatifs à : [PHP] remplacer une chaine de caractères dans un .ini [resolu]


Copyright © 1997-2018 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR