Vous n'êtes pas identifié(e).
Pages :: 1
Salut tous le monde !
J'ai un petit problème. J'ai crée un fichier texte, et je n'arrive pas à me deplacer dans les lignes et à choisir la colonne où je veux modifier mon caractère en même temps...
Par exemple, voici un texte :
-----------------
Test pour fseek
Ca
-----------------
Je voudrais rajouter le mot "marche" après le mot "Ca".
J'ai essayé comme ceci (en mode "r+"):
for ($ligne = 0 ; $ligne <= 1 ; $ligne++)
{
$texte = fgets($fichier); //// Se deplace sur les lignes du texte
if ($ligne==1) //Ecrire dans la deuxième ligne
{
fseek($fichier, 4)); //Deplacement sur la quatrième colonne
fputs($fichier, "marche"); //J'écris le mot
}
}
-----------------
Tesmarche fseek
Ca
-----------------
Apparament, le fseek à été prit en compte, mais sur la première ligne au lieu de la deuxième... Pourquoi ?
Par contre, quand j'enleve fseek, j'écris bien sur la deuxième ligne, mais cela m'efface le mot "Ca".
Si vous pouviez me depannez, ça serait cool.
Hors ligne
Salut,
Sans option, fseek déplace le curseur par rapport au début du fichier.
Pour se déplacer par rapport à la position courante, il faut utiliser l'option SEEK_CUR.
Cf la doc : http://fr2.php.net/manual/fr/function.fseek.php
Pense aussi qu'après un fgets le curseur est sur la ligne suivante donc lorsque $ligne==1 le curseur est sur la ligne 2 (la troisième du fichier).
Alain.
Promotion de PPOO : Programmation Propre Orientée Objet !!
Recommande AAO : Apéritif Avec Olives...
Glop, glop
Hors ligne
Okay, ça marche, merci du coup de pouce.
Par contre, j'ai un autre soucis, j'aimerais à présent écrire à l'avant dernière ligne du fichier, comment dois-je faire ?
Hors ligne
Pas d'idée ? J'ai essayé avec l'option SEEK_END, mais je n'arrive pas à bien l'utiliser...
Hors ligne
Pages :: 1