francoisch Posté 15 Juillet 2009 Posté 15 Juillet 2009 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 fichierforeach ($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
francoisch Posté 15 Juillet 2009 Auteur Posté 15 Juillet 2009 bonjour Je viens d'ajouter: $lines2[$line_num2] = $line2; et ça semble fonctionner. Francois
francoisch Posté 15 Juillet 2009 Auteur Posté 15 Juillet 2009 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
captain_torche Posté 15 Juillet 2009 Posté 15 Juillet 2009 Si tu connais le numéro de la ligne, un simple unset($lines2[$num]); devrait suffire.
Jeanluc Posté 15 Juillet 2009 Posté 15 Juillet 2009 Ou bien, pour la ligne en question, tu fais: $lines2[$line_num2] = ''; Jean-Luc
captain_torche Posté 15 Juillet 2009 Posté 15 Juillet 2009 Dans ce cas, il faudrait faire un test pour ne pas écrire les lignes vides.
Jeanluc Posté 15 Juillet 2009 Posté 15 Juillet 2009 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
francoisch Posté 15 Juillet 2009 Auteur Posté 15 Juillet 2009 bonjour et merci de vos réponses. Le unset() a très bien fonctionné, merci encore Captain. Francois
captain_torche Posté 15 Juillet 2009 Posté 15 Juillet 2009 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
Sujets conseillés
Veuillez vous connecter pour commenter
Vous pourrez laisser un commentaire après vous êtes connecté.
Connectez-vous maintenant