Modifier un fichier en PHP
chico95
-
Alain_42 Messages postés 5361 Date d'inscription Statut Membre Dernière intervention -
Alain_42 Messages postés 5361 Date d'inscription Statut Membre Dernière intervention -
Salut a tous,
J'ai un petit problème, voila, j'aimerais modifier le contenu d'un fichier sans réécrire par dessus, je pose mon code et je vous explique mon problème :
Mon problème c'est la partie en gras qui ne marche pas, voila l'algo que je n'arrive pas a réaliser :
Merci
J'ai un petit problème, voila, j'aimerais modifier le contenu d'un fichier sans réécrire par dessus, je pose mon code et je vous explique mon problème :
<?php $liste_modif=""; $ouvre=fopen("test.txt","r"); // ouverture du fichier while (!feof ($ouvre)){ // tant que pas en fin de fichier $lecture = fgets($ouvre, 4096); // stockage dans $lecture $donnee=explode(";",$lecture); // parsing des données basé sur ";") // modification des données $1=preg_match("#[0-9]+#",$donnee[0]); if ($1){ $donnee[0]=str_replace($1,$1+3,$donnee[0]); } // stockage temporaire des données toujours avec le séparateur $liste_modif.=$donnee[0].";\r\n"; } fclose($ouvre); // fermeture $ouvre=fopen("test.txt","w+"); fwrite($ouvre,$liste_modif); fclose($ouvre); ?>
Mon problème c'est la partie en gras qui ne marche pas, voila l'algo que je n'arrive pas a réaliser :
Si il y a un nombre dans $donnee[0] Alors on ajoute +3 à ce nombre FinSi
Merci
A voir également:
- Modifier un fichier en PHP
- Fichier bin - Guide
- Modifier dns - Guide
- Comment réduire la taille d'un fichier - Guide
- Comment ouvrir un fichier epub ? - Guide
- Fichier rar - Guide
3 réponses
j'ai deja trouvé la moitié pour ceux que sa intéresse :
J'ai remplacé preg_match par preg_match_all...
"NoOffFirstLineMenus=" est juste le début de mon texte a modifier :
par contre je n'arrive toujours pas a rajouter +3 à ce nombre, des idées ??
merci
J'ai remplacé preg_match par preg_match_all...
"NoOffFirstLineMenus=" est juste le début de mon texte a modifier :
if (preg_match_all("#(NoOffFirstLineMenus=)([0-9]+)$#",$donnee[0],$tableau)){ $donnee[0]=str_replace($tableau[2],$tableau[2]+3,$donnee[0]); }
par contre je n'arrive toujours pas a rajouter +3 à ce nombre, des idées ??
merci
tiens ça marche comme çela:
<?php $donnee[0]='bla blabblallal210reblalalalal321bla blabblallal 630 reblalalalal'; $masque='#[0-9]+#'; preg_match_all($masque,$donnee[0],$tableau,PREG_PATTERN_ORDER); //visu echo '<pre>'; print_r($tableau); echo '</pre>'; for($i=0;$i<sizeof($tableau[0]);$i++){ $valeur=$tableau[0][$i]; $valeur_remplacement=$tableau[0][$i]+3; $donnee[0]=preg_replace("/$valeur/","$valeur_remplacement",$donnee[0]); } echo $donnee[0]; ?>