Se connecter avec
S'enregistrer | Connectez-vous

Modifier un fichier texte en php

Dernière réponse : dans Programmation

Bonjour,
J'ai crée une fichier php que je le donne comme paramètre un nom de fichier, le numéro de ligne et une chaîne et je veux qu'il modifie la ligne donnée comme paramètre par la nouvelle chaîne.
J'ai crée une fonction qui me retourne l'ancienne chaîne:
  1. define('FICHIER', 'fich.txt');
  2. $mot="mot1";
  3. $line = 3;
  4. $numligne= 0;
  5. @ $fp = fopen(FICHIER, 'r') or die('Ouverture en lecture de "' . FICHIER . '" impossible !');
  6. while (!feof($fp)) {
  7. $numligne++;
  8. $ligne = fgets($fp, 1024);
  9. if ($numligne == $line ) {
  10. $chaine = $ligne;
  11. break;
  12. }
  13. }
  14. fclose($fp);


mais je n'arrive pas à la modifier

merci de m'aider

Autres pages sur : modifier fichier texte php

Lassé par la pub ? Créez un compte
Expert Programmation

Normal, tu ouvres ton fichier en 'r' donc tu ne peux que le lire.
Le plus simple à mon avis:
  1. <?php
  2. define('FICHIER', 'fich.txt');
  3. $mot = 'mot1';
  4. $ligne = 3;
  5. $temp = file(FICHIER);
  6. $temp[$ligne] = $mot;
  7. $fp = fopen(FICHIER, 'w');
  8. foreach($temp as $line) {
  9. fwrite($fp, $line.chr(13).chr(10));
  10. }
  11. fclose($fp);

J'ai toujours un souci pour me rappeler lequel est lequel entre chr(13) et chr(10).

Essaye de les inverser sous windows, et par contre sur linux il ne faut que l'un des deux, mais, comme je disais, je ne me souviens plus duquel.

A tester.
Lassé par la pub ? Créez un compte
Tom's guide dans le monde