Aller au contenu

Remplacer une ligne dans un fichier plat


Sujets conseillés

Posté

bonjour

Je bute sur un problème certainement simple pour beaucoup mais que je ne comprend pas.

Je lis un fichier plat, je cherche la ligne qui mintéresse, je la modifie, je veux quelle remplace la ligne dorigine, je ré-écris tout le fichier :

.... Lecture du fichier
foreach ($lines2 as $line_num2 => $line2)
{
if(stristr($line2, $id))
{
$doublePoint = strpos($line2,":");
$premierePartie = substr($line2, 0, ($doublePoint + 1));
$line2 = $premierePartie.$mdp_crypte."\r\n";
$resultat = "OK";
}
..... Ecriture du fichier

Tout fonctionne sinon que la ligne modifiée ne remplace pas la ligne dorigine.

Merci par avance de votre aide.

Francois

Posté

bonjour

Autre chose: dans ce même fichier plat, j'ai besoin de supprimer une ligne que je sais identifier; comment faire?

Je lis le fichier d'origine, je constitue le tableau $lines2, j'identifie la ligne à supprimer, ....; à partir de là, je suis sec.

Est ce que je constitue en sortie un autre tableau que j'écrirais pour finir?

Comment constituer ce deuxième tableau?

Par avance merci de votre aide.

Francois

Posté

Je pense qu'il n'y aura pas de ligne vide, parce que, pour les autres lignes, il place le "\r\n" dans $lines2[$line_num2].

Jean-Luc

Posté

Mais effectivement, comme tu écris les retours chariots directement dans les lignes du tableau (et pas dynamiquement à l'écriture du fichier), la solution de Jeanluc était valide ;)

Veuillez vous connecter pour commenter

Vous pourrez laisser un commentaire après vous êtes connecté.



Connectez-vous maintenant
×
×
  • Créer...