Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1508 connectés 

  FORUM HardWare.fr
  Programmation
  PHP

  Problème fseek()

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Problème fseek()

n°485633
Olivier51
Posté le 13-08-2003 à 00:29:49  profilanswer
 

Mon code ne marche pas :

Code :
  1. if (!($fp = fopen("data/annuaire.txt", "a+" )))
  2. { die("Impossible d'ouvir le fichier" ); exit(); }
  3. fseek($fp,-10,SEEK_CUR);
  4. fwrite($fp,"x",1);
  5. fclose($fp);


 
Ce code me met le caractère "x" à la fin du fichier ...  
 
(fseek ne renvoie aucune erreur)

mood
Publicité
Posté le 13-08-2003 à 00:29:49  profilanswer
 

n°485654
ACut
Posté le 13-08-2003 à 02:18:45  profilanswer
 

1) juste pour savoir: si tu mets r+ au lieu de a+ dans le fopen (et en adaptant le fseek avec SEEK_END), ça fait quoi?
 
2) le fichier annuaire.txt il "existe" avant l'appel?
 
3) un ftell avant/après le fseek ça donne quoi?
 
Bon c'est juste des pistes...

n°485668
*syl*
--> []
Posté le 13-08-2003 à 07:30:38  profilanswer
 

Comme disait Acut :
 

Citation :

3. if you're using fseek() to write data to a file, remember to open the file in "r+" mode, example:  
 
$fp=fopen($filename,"r+" );  
 
Don't open the file in mode "a" (for append), because it puts the file pointer at the end of the file and doesn't let you fseek earlier positions in the file (it didn't for me!). Also, don't open the file in mode "w" -- although this puts you at the beginning of the file -- because it wipes out all data in the file.


Source : http://fr3.php.net/fseek
 
Au fait : un die() suivi d'un exit() ne sert strictement à rien puisque c'est la même fonction..

n°485895
Olivier51
Posté le 13-08-2003 à 12:17:05  profilanswer
 

ACut a écrit :

1) juste pour savoir: si tu mets r+ au lieu de a+ dans le fopen (et en adaptant le fseek avec SEEK_END), ça fait quoi?
 
2) le fichier annuaire.txt il "existe" avant l'appel?
 
3) un ftell avant/après le fseek ça donne quoi?
 
Bon c'est juste des pistes...


 
1) Comme mon fichier existe et que je ne veux pas le supprimer, si je met "r+", mon fichier va être supprimé pour en recréer un.
 
2) Voir un ...
 
3) Je vais voir pour le ftell
 
*Syl* exact, j'ai pas fait attention ...

n°485964
Taz
bisounours-codeur
Posté le 13-08-2003 à 14:18:19  profilanswer
 

[:rofl] on doit pas avoir la même traduction du mot "die"...

n°485976
Juntao2k2
Posté le 13-08-2003 à 14:39:11  profilanswer
 

'lut
 
@Olivier51
 
r : ouvre le fichier si celui existe, si il existe po ca plante
w : ouvre le fichier et le remets a 0 si il existe, si il existe po il le cree
 
++

n°486241
Olivier51
Posté le 13-08-2003 à 19:09:16  profilanswer
 

Juntao2k2 a écrit :

'lut
 
@Olivier51
 
r : ouvre le fichier si celui existe, si il existe po ca plante
w : ouvre le fichier et le remets a 0 si il existe, si il existe po il le cree
 
++


 
Je suis d'accord mais moi je dois écrire après le fichier initial, donc je suis obligé d'utiliser les "droits" d'écriture, soit j'utilise "a", soit j'utilise "w" pour écrire, mais si j'utilise "w", je n'aurais plus le fichier initiale ... Donc obligé d'utiliser "a".

n°486545
ACut
Posté le 13-08-2003 à 23:03:47  profilanswer
 

Olivier51 a écrit :


 
...
je suis obligé d'utiliser les "droits" d'écriture, soit j'utilise "a", soit j'utilise "w" pour écrire, mais si j'utilise "w", je n'aurais plus le fichier initiale ... Donc obligé d'utiliser "a".


 
... soit tu utilises r+ !!!
Le + signifie que tu ouvre en mode lecture + écriture.
Et au contraire du a, il va te permettre d'écrire à -10 de SEEK_END.
 
C'est ça en gros qu'on essayait de te dire.


---------------
NOUVEAU! Le guide de l'édition en version ebook : http://marcautret.free.fr/autret/150q-ebook/

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  PHP

  Problème fseek()

 

Sujets relatifs
[Perl CGI] Problème d'affichageproblème de création de table
probleme de non respect des couleurs sous ie6.0Petit probleme avec le "DOS" de la console de recup XP
problème bizarre avec les headersProblème de conversion de format de date....
Problème de templateprobleme pour permutter 2 entiers par adresse...
petit probleme sur liste chainée simpleProbleme avec fseek
Plus de sujets relatifs à : Problème fseek()


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR