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

  FORUM HardWare.fr
  Programmation
  PHP

  [PHP] Erreur incompréhensible d'accès fichier

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[PHP] Erreur incompréhensible d'accès fichier

n°305978
Kyle_Katar​n
Posté le 11-02-2003 à 01:01:42  profilanswer
 

Code :
  1. if (!($fp = fopen("query.log", "a+" ))) {
  2.          print("Impossible d'ouvrir le fichier." );
  3.         }
  4. else
  5. {
  6.  rewind($fp);
  7.          $buffer = fgets($fp, 100);
  8.          $pour = (int)$buffer;
  9.          $buffer = fgets($fp, 100);
  10.          $contre = (int)$buffer;
  11.          if ($query == "pour" ) {
  12.             $pour++;
  13.          }
  14.          if ($query == "contre" ) {
  15.             $contre++;
  16.          }
  17.          rewind($fp);
  18.          fputs($fp, $pour. "\n", 100);
  19.          fputs($fp, $contre . "\n", 100);
  20.          fclose($fp);
  21.          print("Pour : " . $pour . " Contre : " . $contre);
  22.       }


 
Pourquoi mes valeurs sont lues correctement mais ECRITES en fin de fichiers ? (malgré le rewind). Il me faut le "a" pour m'assurer de la création du fichier.

mood
Publicité
Posté le 11-02-2003 à 01:01:42  profilanswer
 

n°305980
Mara's dad
Yes I can !
Posté le 11-02-2003 à 01:09:28  profilanswer
 

Nan, c'est 'w' ou 'w+' si tu veux pouvoir aussi lire dans ton fichier.
 
RTFM !


---------------
Laissez l'Etat dans les toilettes où vous l'avez trouvé.
n°305982
ethernal
Chercheur de vérité...
Posté le 11-02-2003 à 01:11:08  profilanswer
 

-- grilled --
 
http://www.php.net/manual/en/function.rewind.php

Citation :

Note: If you have opened the file in append ("a" ) mode, any data you write to the file will always be appended, regardless of the file position.


 
si tu ouvres ton fichiers en 'w', il sera aussi créé s'il n'existe pas, mais le rewind fctera (mais ne sera pas nécessaire je suppose)
sinon regarde fseek(), ils ne disent pas sur php.net qu'il a le même comportement.


Message édité par ethernal le 11-02-2003 à 01:11:34
n°305983
Kyle_Katar​n
Posté le 11-02-2003 à 01:13:22  profilanswer
 

merci j'avais pas lu la note sur rewind et "a"...  
 
merci à tous

n°305987
Kyle_Katar​n
Posté le 11-02-2003 à 01:18:06  profilanswer
 

ok mais pour info avec "w+" mes $buffers ne recoivent rien ...

n°305988
Mara's dad
Yes I can !
Posté le 11-02-2003 à 01:20:27  profilanswer
 

'w' Ecrase le fichier s'il existe, et le cré sinon !
 
Si tu veux lire et ecrire, mais pas forcément à la fin, alors c'est 'r+'
 
RTFM again :
 
'r' - Ouvre en lecture seule, et place le pointeur de fichier au début du fichier.  
 
'r+' - Ouvre en lecture et écriture, et place le pointeur de fichier au début du fichier.  
 
'w' - Ouvre en écriture seule; place le pointeur de fichier au début du fichier et réduit la taille du fichier à 0. Si le fichier n'existe pas, on tente de le créer.  
 
'w+' - Ouvre en lecture et écriture; place le pointeur de fichier au début du fichier et réduit la taille du fichier à 0. Si le fichier n'existe pas, on tente de le créer.  
 
'a' - Ouvre en écriture seule; place le pointeur de fichier à la fin du fichier file. Si le fichier n'existe pas, on tente de le créer.  
 
'a+' - Ouvre en lecture et écriture; place le pointeur de fichier à la fin du fichier. Si le fichier n'existe pas, on tente de le créer.  
 
http://www.php.net/manual/fr/function.fopen.php


---------------
Laissez l'Etat dans les toilettes où vous l'avez trouvé.
n°305989
Kyle_Katar​n
Posté le 11-02-2003 à 01:23:11  profilanswer
 

je le savais je suis trop con....
 
Comment faire pour ouvrir un fichier sans que l'écriture soit faite en append (comme le fait "a" ) mais que le fichier soit crée si pas présent ? (je crois pas que "R+" le fasse)

n°305991
Mara's dad
Yes I can !
Posté le 11-02-2003 à 01:28:17  profilanswer
 

Ben t'essaye en 'r+', et si çà foire, tu recommence en 'w+' !
 

Code :
  1. if ( ! ( $fp = fopen( "query.log", "r+" ) ) )
  2. {
  3.      if ( ! ( $fp = fopen( "query.log", "w+" ) ) )
  4.      {
  5.         print("Impossible d'ouvrir le fichier." );
  6.      }
  7. else 
  8. ...



---------------
Laissez l'Etat dans les toilettes où vous l'avez trouvé.
n°305992
Mara's dad
Yes I can !
Posté le 11-02-2003 à 01:30:18  profilanswer
 

Désolé de te dire çà, mais j'ai tout comme l'impression que t'es plus en état de programmer là !
 
Vas dormir un peu, sinon, t'auras des tonnes de bugs à corriger demain.
 
 :sleep:


---------------
Laissez l'Etat dans les toilettes où vous l'avez trouvé.
n°306050
Kyle_Katar​n
Posté le 11-02-2003 à 08:44:34  profilanswer
 

lol c'est ce que j'ai fait !

mood
Publicité
Posté le 11-02-2003 à 08:44:34  profilanswer
 

n°306111
Mara's dad
Yes I can !
Posté le 11-02-2003 à 10:09:35  profilanswer
 

:hello:


---------------
Laissez l'Etat dans les toilettes où vous l'avez trouvé.

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

  [PHP] Erreur incompréhensible d'accès fichier

 

Sujets relatifs
[PHP] Upload [Récupération facile du type de fichier][ Php/Oracle/Apache ] Plantage d'apache à cause des librairies oracle
[JS] Cocher une checkbox générée à partir d'une boucle PHP (réparé)Comment mettre des couleurs à mon fichier c ?
Générer un fichier Excel grace au Cold Fusion ?[PHP] Résultat à partir d'une BD
[Apache / PHP] Problème de transmission de variable avec mod_rewrite[SQL] Requete avec LIKE : erreur de syntaxe O_o
lecture de l'entete d'un fichier mp3 ou avi ? 
Plus de sujets relatifs à : [PHP] Erreur incompréhensible d'accès fichier


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