PHP|Débutant :: Forums

Advertisement

Besoin d'aide ? N'hésitez pas, mais respectez les règles

Vous n'êtes pas identifié(e).

#1 24-05-2009 17:38:06

Le Grand Nain
Membre
Inscription : 24-05-2009
Messages : 3

Ecrire dans un fichier

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. smile

Hors ligne

#2 24-05-2009 18:32:56

mcAllan
Mowdérateur
Lieu : Châteaurenard en Provence
Inscription : 08-05-2009
Messages : 269

Re : Ecrire dans un fichier

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

#3 30-05-2009 01:06:56

Le Grand Nain
Membre
Inscription : 24-05-2009
Messages : 3

Re : Ecrire dans un fichier

Okay, ça marche, merci du coup de pouce. smile

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

#4 01-06-2009 13:08:38

Le Grand Nain
Membre
Inscription : 24-05-2009
Messages : 3

Re : Ecrire dans un fichier

Pas d'idée ? J'ai essayé avec l'option SEEK_END, mais je n'arrive pas à bien l'utiliser...

Hors ligne

Pied de page des forums