fopen() et mode r+

fopen() et mode r+ - PHP - Programmation

Marsh Posté le 02-02-2006 à 16:27:12    

Bonjour à tous,
 
ça fait 1h que je m'arrache les cheveux sur un truc tout con... tellement pénible que c'est le DERNIER truc qui me reste àf aire pour considérer ça comme fini...
c'est un petit gestionnaire de news très simple, avec une date, un titre, un texte, une photo...
en fait j'écris le code html dans un txt et je fais un include pour l'afficher.
 
ça marche impeccable avec  :
 
$fp = fopen($allniouzes,"a+" ) or die("écriture sur allniouzes.txt échouée." );
 
enfin presque... une fois affichée mes news se suivent, et c'est toujours la 1ere qui est en haut... faudrait inverser...
 
alors j'ai pensé mettre r+ comme ça ça m'écrit au début, au lieu de la fin... mais non... ça semble m'écrire tout ça un peu n'importe comment... enf ait ça me réécrit par-dessus ce qui était déjà dans le fichier, alors que je voudrais que ça "pousse" ce qui est dedans.... j'sais pas si je me suis bien expliqué :)

Reply

Marsh Posté le 02-02-2006 à 16:27:12   

Reply

Marsh Posté le 02-02-2006 à 16:41:24    


Je penses pas !
Concretement Tu veux quoi, tu fais quoi, il se passe quoi ?

Reply

Marsh Posté le 02-02-2006 à 16:50:47    

ben..... ce que j'ai dit...
je vois pas comment mieux m'expliquer...

Reply

Marsh Posté le 02-02-2006 à 16:53:47    


ben j'ai rien compris, tu peux pas mettre des screen, pourtant je l'ai lu cinq fois, et je suis pas sur que d'autres comprennent mieux que moi !
de plus il existe plein de scripts de news tout faits !

Reply

Marsh Posté le 02-02-2006 à 16:56:07    

oui mais aucun ne me convient... alors j'en ai pris un, qui date un peu (2003) et je l'ai modifié...
 
mais je crois que je suis en train de m'en sortir finalement...
 
je posterai la solution, merci :)

Reply

Marsh Posté le 02-02-2006 à 17:12:27    

voilà...
c'est un peu tordu mais j'ai pas trouvé comment faire plus propre :D :D
 

Code :
  1. //ouverture du fichier en lecture seule
  2. $fp = fopen($allniouzes,"r" ) or die("écriture sur allniouzes.txt échouée." );
  3. //on colle le contenu dans une variable
  4. $contents = fread($fp, filesize ($allniouzes));
  5. //réouverture du fichier en écriture, en le vidant
  6. $fp = fopen($allniouzes,"w+" ) or die("écriture sur allniouzes.txt échouée." );
  7. // on concatène la nouvelle news avec ce qui était dans le fichier
  8. $write1.=$contents;
  9. //on écrit le tout dans le fichier
  10. fwrite($fp,$write1);
  11. //on ferme
  12. fclose($fp);


 
le fait est que ça marche bien entendu... mais c'est pas beau  :lol:  :lol:

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed