lire un fichier sans connaitre le nombre de lignes

Répondre
LA GLOBULE
le 07/01/2005 à 23:02
LA GLOBULE
Alors :
1) tu n'as pas besoin de mettre de dans ton fichier texte (la fonction nl2br sert justement à remplacer les \n par des )
2) une variable ne peut contenir d'espace : $nouvelle_chaine et non $nouvelle _chaine.
lolipops
le 07/01/2005 à 23:37
lolipops
Arf la globule t'as vraiment l'oeuil pour les espaces...
c ca de faire copier/coller..
Une baffe !! meme 2 lool

Ok donc dans mon fichier texte retour ligne = \n

MERCI
Pas douée mais acharnée
lolipops
le 07/01/2005 à 23:40
lolipops
bah non ca m'affiche ma ligne en continu et ca me converti pas le \n qui s'affiche.
Pas douée mais acharnée
LA GLOBULE
le 08/01/2005 à 00:22
LA GLOBULE
Mais ne met rien dans ton fichier texte :)

smiley

Quand tu veux sauter une ligne, tu n'ecris pas un \n ou un dans un fichier texte, tu appuies seulement sur ta touche Entrée :)

Et quand tu appuies sur "Entrée", toi tu ne vois rien.
Mais le systeme lui, comment il sait que tu as sauté une ligne à tel endroit ?

Il le sait parce que au moment où tu as appuyé sur ta touche Entrée, ben il a mis un "signe" lui permettant de se souvenir que c'est la qu'il doit aller à la ligne.

Ce signe, ca s'appelle un line feed.

C'est un caractère "special" qui ne se "voit pas" quand on ouvre le fichier texte à la main.

Cependant, quand tu l'ouvres avec PHP, PHP le voit.
Et il voit un \n à chaqe saut de ligne.
Donc en utilisant la fonction nl2br, PHP va remplacer tout les \n qu'il va rencontrer par des (balise qui permet le saut de ligne en html).

Petit exemple basique :

<?php
echo "toto vive la fete";
echo "toto\n vive la fete";
?>


Si tu executes ses deux codes, a priori, tu ne verras aucune différence sur ta page.
Seulement, si tu affiches le code source de ta page, tu verras que le résultat est différent : dans le premier cas, tout est sur une ligne, dans le deuxième, il y a un saut de ligne (à cause du line feed \n).

Esnuite, teste ceci :

<?php
$test = "titi\ntata";
echo $test;
echo nl2br ($test);
?>


Tu verras dans le deuxième exemple que PHP aura remplacé le line feed (\n) par une balise et que cela affichera un saut de ligne sur la page "html" générée.
Bzh
le 08/01/2005 à 00:24
Bzh
Moi, à ta place, je n' aurais pas du tout fait comme cela !!!

J' aurais convertis les \n directement avant de les enregistrer dans le fichier !!!

Commme cela, ça ne fait plus qu' une seul ligne du fichier par Post !!! Je sais pas si tu saisi !!!

Imaginons un gestionniaire de news !!! Trois nouvelles...

<?php $contenu_fichier = file("./nouvelles.txt");
//on créé un tableau contenant tout le fichier rangé par ligne

$nouvelle_1 = $contenu_fichier[0];
$nouvelle_2 = $contenu_fichier[1];
$nouvelle_3 = $contenu_fichier[2];

//reste plus qu' a afficher les trois nouvelles
?>


Bien évidement il faut transformer tout les retours chario par des avant de les enregistrer dans le fichier !!!

J' éspère avoir été claire !!!

Bye... smiley
Bzh
le 08/01/2005 à 00:28
Bzh
heu... smiley J' ai oublié kelke chose d' important !!!! désolé...

Lorsque tu enregistre dans le fichier, pour que mon exemple fonctionne, il est très important, et c' est logique, de rajouter un retour chario a la fin de se que tu enregistre !!! Pour qu' il passe bien a la ligne lorsque tu enregistrera quelque chose d' autre !!!

smiley
LA GLOBULE
le 08/01/2005 à 00:29
LA GLOBULE
Bzh, personnellement, je ne mettrais pas de dans mon fichier texte.

Si tu met des , cela veut dire que tu récupères directement le contenu du fichier et que tu l'interpretes comme étant de l'hml.
Ca peut ptet s'avérer dangereux.

Je suis partisant des données brutes transformées à l'affichage.
lolipops
le 08/01/2005 à 01:09
lolipops
Bon jsuis desole mais ca rame...

donc dans mon fichier txt jai redige normalement avec mes retours ligne avec entrée (c trop logique ce que tu m'as explique la globule j'ai honte lool)
mon code est indentique à celui posté plus haut (sauf le prob d'espace of course)

MAIS la lecture du fichier s'arrete des le saut de ligne....

Arf, c peur etre une question de formatage du fichier texte ? (ANSI, unicode..) il faut quel format ?

Merci pour vos effort.

Bzh, je vais tester ton appli mais jsuis pas sur que se soit simple pour ce que je veux en faire.
Mais c'est quand meme très interressant.
Pas douée mais acharnée
LA GLOBULE
le 08/01/2005 à 01:14
LA GLOBULE
lolipops : montre nous ton code, et copie colle nous ton fichier texte pour voir.
lolipops
le 08/01/2005 à 01:28
lolipops
Alors le code :

<?php
// Instruction 1
$fp = fopen ("pages/ZoneAccueil/testMemo.txt", "r");
// Instruction 2
$contenu_du_fichier = fgets ($fp, filesize("pages/ZoneAccueil/testMemo.txt"));
// Instruction 3
fclose ($fp);
// recup des données avec la mise en forme des paragraphes
$nouvelle_chaine = nl2br($contenu_du_fichier);
// Instruction 4
echo '<span class="Style1">Derniere Minute: '.$nouvelle_chaine.'</span>';
?>



le fichier texte est super banal :

*debut fichier txt*

Mise en ligne des derniers Sites CV !!
Pas une minute à perdre, reservez votre modèle,
vous serez assuré de l'EXCLUSIVITE GRATUITE !

Les Sites CV restent 100% gratuit,
MAIS nous vous offrons l'exclusivité tout le MOIS !

*fin fichier txt*
Pas douée mais acharnée
Répondre
LoadingChargement en cours