FORUM Syndrome-OC - Jacky-PC


  Programmation


  Langage interprété(Php, Perl...)


  [php] { Débutant } Contenue d'un fichier txt sur une page web

 




snoopy666 Composants - Choix et problèmes : thekingclaes WaterCooling & TEC (Peltiers) : Asche, 2 utilisateurs anonymes et 16 utilisateurs inconnus

 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[php] { Débutant } Contenue d'un fichier txt sur une page web

n°4077
The_Real_S​lim_JeSuS
Citron Addict
Posté le 18-09-2004 à 18:53:22  profilanswer
 

Coucou.
 
 Je débutes en php (depuis le temps que je faisais trois bidouilles en htm il faut bien que je m'instruise un peut).
 
 Bref pour le challenge sur mon réseau local j'ai posé un petit site, La page d'acceuil affiche un texte qui je le voudrais histoire de pouvoir le modifier de n'importe ou sans outils soit contenu dans un fichier *.txt. Jusqu'ici je l'ai réalisé.
 Sauf que lorsque mon texte apparait sur la page, je perds sa mise en forme.
 
Voila mon code :

Code :
  1. <?php
  2.   $fd = fopen ("acceuil.txt", "r" );
  3.   while (!feof ($fd)) {
  4.    $buffer = fgets($fd, 4096);
  5.    echo $buffer ;
  6.   }
  7.   fclose ($fd);
  8. ?>


 
Pour conserver ma mise en page, ( des retours chariots ), je suis obligé de fourrer des <br> en fin de chaques ligne.
 J'aurais préférer que mon fichier txt puisse etre édité sans aucun code sinon autant rencoder la page htm depuis le notepad a chaques fois...
 
Une piste, mon 'site' est posé sur un serveur easy php sous win (pas de bouh c'est mal, pour l'heure c'est comme ca), j'ai lu qu'il y avait une histoire de retour chariot interprété différement mais je n'ai pas saisi.

mood
Google
Posté le 18-09-2004 à 18:53:22  profilanswer
 

n°4078
Freacky
Posté le 18-09-2004 à 18:59:44  profilanswer
 

Il suffit de rajouter des <br> à chaque fins de ligne :  
 
Lecture seule

Code :
  1. $fichier = 'monfichier.txt';
  2. $taille = filesize($fichier);
  3. $fp = fopen($fichier,'r');
  4. while(!feof($fp))
  5. {
  6. $ligne = fgets($fp,$taille);
  7. print $ligne.'<br>';
  8. }
  9. fclose($fp);


 
Ecriture (Si ça peut te servir)

Code :
  1. $fichier = 'monfichier.txt';
  2. $fp = fopen($fichier,'w');
  3. fwrite($fp,"ici la phrase que vous souhaité \n" );
  4. fclose($fp);


 
Les associations d'ouvertures liées à fopen() :
 
'w' : ouvre le fichier pour écriture, et détruit les données si le fichier en contient
'w+' : comme ci dessus mais crée le fichier si celui ci n'éxiste pas
'a' : ouvre le fichier pour ajouter de nouvelles données
'a+' : comme ci-dessus mais crée le fichier si celui n'existe pas
'r' : ouvre le fichier en lecture seulement
'r+' : ouvre le fichier en lecture et écriture ( voir utilisation fonction fseek() )
 
Tu peux aussi essayer nl2br().


Message édité par Freacky le 18-09-2004 à 19:04:50
n°4079
Freacky
Posté le 18-09-2004 à 19:24:46  profilanswer
 
n°4080
The_Real_S​lim_JeSuS
Citron Addict
Posté le 18-09-2004 à 19:29:06  profilanswer
 

Freacky a écrit :

Il suffit de rajouter des <br> à chaque fins de ligne :  
 
Lecture seule

Code :
  1. $fichier = 'monfichier.txt';
  2. $taille = filesize($fichier);
  3. $fp = fopen($fichier,'r');
  4. while(!feof($fp))
  5. {
  6. $ligne = fgets($fp,$taille);
  7. print $ligne.'<br>';
  8. }
  9. fclose($fp);


 
Ecriture (Si ça peut te servir)

Code :
  1. $fichier = 'monfichier.txt';
  2. $fp = fopen($fichier,'w');
  3. fwrite($fp,"ici la phrase que vous souhaité \n" );
  4. fclose($fp);


 
Les associations d'ouvertures liées à fopen() :
 
'w' : ouvre le fichier pour écriture, et détruit les données si le fichier en contient
'w+' : comme ci dessus mais crée le fichier si celui ci n'éxiste pas
'a' : ouvre le fichier pour ajouter de nouvelles données
'a+' : comme ci-dessus mais crée le fichier si celui n'existe pas
'r' : ouvre le fichier en lecture seulement
'r+' : ouvre le fichier en lecture et écriture ( voir utilisation fonction fseek() )
 
Tu peux aussi essayer nl2br().


 
ok en fait cela nous crée une lecture/affichage a l'écran ligne a ligne
Je vais tester ( et surtout chercher a comprendre ).
:Jap:

n°4081
Deadog
Dain Bramaged
Posté le 18-09-2004 à 19:34:10  profilanswer
 

Freacky a écrit :

Il suffit de rajouter des <br> à chaque fins de ligne :  
 
Lecture seule

Code :
  1. $fichier = 'monfichier.txt';
  2. $taille = filesize($fichier);
  3. $fp = fopen($fichier,'r');
  4. while(!feof($fp))
  5. {
  6. $ligne = fgets($fp,$taille);
  7. print $ligne.'<br>';
  8. }
  9. fclose($fp);


 
Ecriture (Si ça peut te servir)

Code :
  1. $fichier = 'monfichier.txt';
  2. $fp = fopen($fichier,'w');
  3. fwrite($fp,"ici la phrase que vous souhaité \n" );
  4. fclose($fp);


 
Les associations d'ouvertures liées à fopen() :
 
'w' : ouvre le fichier pour écriture, et détruit les données si le fichier en contient
'w+' : comme ci dessus mais crée le fichier si celui ci n'éxiste pas
'a' : ouvre le fichier pour ajouter de nouvelles données
'a+' : comme ci-dessus mais crée le fichier si celui n'existe pas
'r' : ouvre le fichier en lecture seulement
'r+' : ouvre le fichier en lecture et écriture ( voir utilisation fonction fseek() )
 
Tu peux aussi essayer nl2br().


 
 
ohlala :sleep:  
 
la fonction nl2br est la pour ça ...
 
http://fr.php.net/manual/fr/function.nl2br.php

n°4082
The_Real_S​lim_JeSuS
Citron Addict
Posté le 18-09-2004 à 19:36:29  profilanswer
 

Oulà ...
 
 
J'ai une infinitée d'erreures :
 

Code :
  1. Warning: filesize(): Stat failed for accueil.txt (errno=2 - No such file or directory) in c:\web\accueil2.php on line 15
  2. Warning: fopen(accueil.txt): failed to open stream: No such file or directory in c:\web\accueil2.php on line 16
  3. Warning: feof(): supplied argument is not a valid stream resource in c:\web\accueil2.php on line 17
  4. Warning: fgets(): supplied argument is not a valid stream resource in c:\web\accueil2.php on line 19


 
et celles de la boucle 17 19 à l'infini ...

n°4083
The_Real_S​lim_JeSuS
Citron Addict
Posté le 18-09-2004 à 19:45:08  profilanswer
 

Deadog a écrit :

ohlala :sleep:  
 
la fonction nl2br est la pour ça ...
 
http://fr.php.net/manual/fr/function.nl2br.php


 
 
 :lol:  
Effectivement ca marche tout de suite mieux.
 Ca me fait plaisir !  
Par contre je n'ai compris que sur ce site :
http://www.asp-php.net/tutorial/as [...] glossid=14
(des fois je tournes pas rond)
 
merci
 
le code 'final' :

Code :
  1. <?php
  2.   $fd = fopen ("acceuil.txt", "r" );
  3.   while (!feof ($fd)) {
  4.    $buffer = fgets($fd, 4096);
  5.    echo nl2br($buffer);
  6.   }
  7.   fclose ($fd);
  8. ?>


 
 [:grut]

n°4088
KnX
To be or not to code.
Posté le 19-09-2004 à 20:12:38  profilanswer
 

c'aurait pas été plus simple pour pouvoir aussi conserver les multiples espaces et autre de rajouter un ptit <pre> </pre> autour de ton code php ?


---------------
/!\ KnX's bash NP : Norah Jones - Don't Miss You At All /!\
n°4097
The_Real_S​lim_JeSuS
Citron Addict
Posté le 20-09-2004 à 12:13:07  profilanswer
 

:??: Je ne connais pas comme ca, ca change quoi ?

n°4099
KnX
To be or not to code.
Posté le 20-09-2004 à 19:36:34  profilanswer
 

bha c'est juste beaucoup plus simple, la balise html <pre> </pre> indique qu'il faut prendre en compte le formatage texte, donc les retours a la ligne, les tabulations, les espaces consécutifs, ....
avec ca, plus besoin de parser tout ton texte a coup de nl2br ;)


---------------
/!\ KnX's bash NP : Norah Jones - Don't Miss You At All /!\
n°4110
The_Real_S​lim_JeSuS
Citron Addict
Posté le 23-09-2004 à 01:49:38  profilanswer
 

Merci je ferais un test pour me rendre compte.


---------------
Ubuntu Dapper ... Mais de quoi ?
 
n°4115
Dr Lous
I see old password
Posté le 25-09-2004 à 00:37:33  profilanswer
 

regarde du cote de ln2br :)


---------------
Oseras-tu m'affronter ?
n°4116
Deadog
Dain Bramaged
Posté le 25-09-2004 à 12:46:58  profilanswer
 

Dr Lous a écrit :

regarde du cote de ln2br :)


 
 
ça t'arrive de lire ? :d

n°4119
Dr Lous
I see old password
Posté le 25-09-2004 à 13:03:23  profilanswer
 

oups [:prosterne]  
 
 
==> []...
 
 
:D


---------------
Oseras-tu m'affronter ?
n°4291
mdog
Posté le 24-10-2004 à 11:53:42  profilanswer
 

Pas la peine de se casser le cul, tu fait un include ;)
 
Sa marche tres bien et tres simplement...
fin je dit sa comme sa moi...mais peut-etre que sa ne convient pas pour ce que tu veut faire enfin...
 
+

n°4296
Deadog
Dain Bramaged
Posté le 25-10-2004 à 23:06:15  profilanswer
 

include d'un fichier texte, mais bien sur ...

n°4298
Dr Lous
I see old password
Posté le 26-10-2004 à 07:31:38  profilanswer
 

ben on peu [:dslam] mais autant mettre le pass root en commentaire dans l'html [:dslam]


---------------
Oseras-tu m'affronter ?
mood
Google
Posté le 26-10-2004 à 07:31:38  profilanswer
 


Aller à :
Ajouter une réponse

  FORUM Syndrome-OC - Jacky-PC


  Programmation


  Langage interprété(Php, Perl...)


  [php] { Débutant } Contenue d'un fichier txt sur une page web

 

Hit Parade