Je ne pensais pas que c'était compliqué... et bien pour moi, si.
Je voudrais juste garder une trace des courriels envoyés (cf ma question
précédente), mais je n'ai pas envie d'encombrer ma boîte aux lettres, donc
j'ai fait un petit fichier texte comme ça :
$fichier=fopen("fichier.txt","a+");
// Ceci à chaque envoi de courriel
$tlog="Courriel envoyé à ".$courriel." (".$pseudo.") avec la
liste\n".$liste1.";\n";
fwrite($fichier,$tlog);
// Fin des envois
fclose($fichier);
Le séparateur entre chaque entrée est un ;
Le fichier se crée normalement, si je le lis avec n'importe quel éditeur de
texte, le contenu est correct et complet.
Par exemple :
Courriel envoyé à xxxxxxx@yahoo.fr (untel) avec la liste
http://wwww.... (arbuste, fleurs blanches) entrée le 06/05/2009
;
Courriel envoyé à yyyyyyyy@laposte.net (unautre) avec la liste
http://wwww.... (semis spontané d'arbre ou d'arbuste) entrée le 13/01/2009
;
Courriel envoyé à zzzzzzzz@wanadoo.fr (machin) avec la liste
http://wwww.... (identification chaton d'arbre) entrée le 13/04/2009
http://wwww.... (identification fleur) entrée le 09/06/2009
;
etc
Seulement voilà, j'aimerais aussi pouvoir le relire, et c'est là que ça se
gâte :
$fichier=fopen("fichier.txt","r");
$lecture=fgets($fichier);
$donnees=explode(";",$lecture);
$combien=count($donnees)-1;
for ($i=0;$i<=$combien;$i++)
{echo $donnees[$i],"<br>";}
fclose($fichier);
C'est un code qui marche parfaitement sur d'autres fichiers texte sur un
autre de nos sites et là, rien à faire, seule une partie de la 1ère ligne
est affichée !
Courriel envoyé à xxxxxxx@yahoo.fr (untel) avec la liste
Et c'est tout !
J'ai cherché sur le ouaibe, essayé d'appliquer d'autres méthodes : rien à
faire, je n'y arrive pas.
Donc si une bonne âme peut m'aider à lire le contenu de ce foutu fichier
texte, je lui en serais reconnaissante...
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Olivier Miakinen
Le 14/07/2009 22:07, Pascale a écrit :
Je ne pensais pas que c'était compliqué... et bien pour moi, si.
Je voudrais juste garder une trace des courriels envoyés (cf ma question précédente), mais je n'ai pas envie d'encombrer ma boîte aux lettres, donc j'ai fait un petit fichier texte comme ça :
$fichier=fopen("fichier.txt","a+"); // Ceci à chaque envoi de courriel $tlog="Courriel envoyé à ".$courriel." (".$pseudo.") avec la listen".$liste1.";n"; fwrite($fichier,$tlog); // Fin des envois fclose($fichier);
Ok. Chaque enregistrement s'étend sur plusieurs lignes (il y a au moins deux "n" sans compter ceux qui peuvent être cachés dans les variables) et le séparateur d'enregistrement est un ";".
$fichier=fopen("fichier.txt","r");
Tu ouvres le fichier
$lecture=fgets($fichier);
Tu lis la première ligne (qui n'est qu'une partie du premier enregistrement).
$donnees=explode(";",$lecture);
Inutile : il n'y a pas de ";" sur cette ligne.
$combien=count($donnees)-1;
$combien = 0
for ($i=0;$i<=$combien;$i++) {echo $donnees[$i],"<br>";}
echo $donnees[0]
fclose($fichier);
Et c'est fini. Pas étonnant que tu ne sois pas satisfaite !
Essaye ceci (j'ai juste remplacé trois lignes par une seule) :
$lecture=file_get_contents("fichier.txt"); $donnees=explode(";",$lecture); $combien=count($donnees)-1; for ($i=0;$i<=$combien;$i++) {echo $donnees[$i],"<br>";}
-- Olivier Miakinen
Le 14/07/2009 22:07, Pascale a écrit :
Je ne pensais pas que c'était compliqué... et bien pour moi, si.
Je voudrais juste garder une trace des courriels envoyés (cf ma question
précédente), mais je n'ai pas envie d'encombrer ma boîte aux lettres, donc
j'ai fait un petit fichier texte comme ça :
$fichier=fopen("fichier.txt","a+");
// Ceci à chaque envoi de courriel
$tlog="Courriel envoyé à ".$courriel." (".$pseudo.") avec la
listen".$liste1.";n";
fwrite($fichier,$tlog);
// Fin des envois
fclose($fichier);
Ok. Chaque enregistrement s'étend sur plusieurs lignes (il y a au moins
deux "n" sans compter ceux qui peuvent être cachés dans les variables)
et le séparateur d'enregistrement est un ";".
$fichier=fopen("fichier.txt","r");
Tu ouvres le fichier
$lecture=fgets($fichier);
Tu lis la première ligne (qui n'est qu'une partie du premier
enregistrement).
$donnees=explode(";",$lecture);
Inutile : il n'y a pas de ";" sur cette ligne.
$combien=count($donnees)-1;
$combien = 0
for ($i=0;$i<=$combien;$i++)
{echo $donnees[$i],"<br>";}
echo $donnees[0]
fclose($fichier);
Et c'est fini. Pas étonnant que tu ne sois pas satisfaite !
Essaye ceci (j'ai juste remplacé trois lignes par une seule) :
$lecture=file_get_contents("fichier.txt");
$donnees=explode(";",$lecture);
$combien=count($donnees)-1;
for ($i=0;$i<=$combien;$i++)
{echo $donnees[$i],"<br>";}
Je ne pensais pas que c'était compliqué... et bien pour moi, si.
Je voudrais juste garder une trace des courriels envoyés (cf ma question précédente), mais je n'ai pas envie d'encombrer ma boîte aux lettres, donc j'ai fait un petit fichier texte comme ça :
$fichier=fopen("fichier.txt","a+"); // Ceci à chaque envoi de courriel $tlog="Courriel envoyé à ".$courriel." (".$pseudo.") avec la listen".$liste1.";n"; fwrite($fichier,$tlog); // Fin des envois fclose($fichier);
Ok. Chaque enregistrement s'étend sur plusieurs lignes (il y a au moins deux "n" sans compter ceux qui peuvent être cachés dans les variables) et le séparateur d'enregistrement est un ";".
$fichier=fopen("fichier.txt","r");
Tu ouvres le fichier
$lecture=fgets($fichier);
Tu lis la première ligne (qui n'est qu'une partie du premier enregistrement).
$donnees=explode(";",$lecture);
Inutile : il n'y a pas de ";" sur cette ligne.
$combien=count($donnees)-1;
$combien = 0
for ($i=0;$i<=$combien;$i++) {echo $donnees[$i],"<br>";}
echo $donnees[0]
fclose($fichier);
Et c'est fini. Pas étonnant que tu ne sois pas satisfaite !
Essaye ceci (j'ai juste remplacé trois lignes par une seule) :
$lecture=file_get_contents("fichier.txt"); $donnees=explode(";",$lecture); $combien=count($donnees)-1; for ($i=0;$i<=$combien;$i++) {echo $donnees[$i],"<br>";}
-- Olivier Miakinen
Pascale
Olivier Miakinen <om+ écrivait news:4a5ce9aa$:
Ok. Chaque enregistrement s'étend sur plusieurs lignes (il y a au moins deux "n" sans compter ceux qui peuvent être cachés dans les variables)
Il pourrait y en avoir, mais il n'y en a pas (j'ai fait simple, histoire de ne pas rajouter d'ennuis).
et le séparateur d'enregistrement est un ";".
Exact.
[couic] Et c'est fini. Pas étonnant que tu ne sois pas satisfaite !
Merci pour la dissection, je comprends mieux pourquoi ça merdoie.
Essaye ceci (j'ai juste remplacé trois lignes par une seule) :
$lecture=file_get_contents("fichier.txt"); $donnees=explode(";",$lecture); $combien=count($donnees)-1; for ($i=0;$i<=$combien;$i++) {echo $donnees[$i],"<br>";}
Et - évidemment - ÇA, ça marche ! (-:
Je vais être obligée de te citer comme co-auteur du site, à ce rythme là ! (o:
Ok. Chaque enregistrement s'étend sur plusieurs lignes (il y a au moins deux "n" sans compter ceux qui peuvent être cachés dans les variables)
Il pourrait y en avoir, mais il n'y en a pas (j'ai fait simple, histoire de ne pas rajouter d'ennuis).
et le séparateur d'enregistrement est un ";".
Exact.
[couic] Et c'est fini. Pas étonnant que tu ne sois pas satisfaite !
Merci pour la dissection, je comprends mieux pourquoi ça merdoie.
Essaye ceci (j'ai juste remplacé trois lignes par une seule) :
$lecture=file_get_contents("fichier.txt"); $donnees=explode(";",$lecture); $combien=count($donnees)-1; for ($i=0;$i<=$combien;$i++) {echo $donnees[$i],"<br>";}
Et - évidemment - ÇA, ça marche ! (-:
Je vais être obligée de te citer comme co-auteur du site, à ce rythme là ! (o:
-- Pascale
Xavier Nayrac
Pascale a écrit :
Je ne pensais pas que c'était compliqué... et bien pour moi, si.
Je voudrais juste garder une trace des courriels envoyés (cf ma question précédente), mais je n'ai pas envie d'encombrer ma boîte aux lettres, donc j'ai fait un petit fichier texte comme ça :
$fichier=fopen("fichier.txt","a+"); // Ceci à chaque envoi de courriel $tlog="Courriel envoyé à ".$courriel." (".$pseudo.") avec la listen".$liste1.";n"; fwrite($fichier,$tlog); // Fin des envois fclose($fichier);
...
Seulement voilà, j'aimerais aussi pouvoir le relire, et c'est là que ça se gâte :
$fichier=fopen("fichier.txt","r"); $lecture=fgets($fichier); $donnees=explode(";",$lecture); $combien=count($donnees)-1; for ($i=0;$i<=$combien;$i++) {echo $donnees[$i],"<br>";} fclose($fichier);
C'est un code qui marche parfaitement sur d'autres fichiers texte sur un autre de nos sites et là, rien à faire, seule une partie de la 1ère ligne est affichée !
Non, toute la première ligne est affichée, la seule et unique ligne que lit ton programme. Tu confonds une ligne de texte, au sens de php, avec un enregistrement, au sens de ton appli.
Courriel envoyé à (untel) avec la liste
Et c'est tout !
J'ai cherché sur le ouaibe, essayé d'appliquer d'autres méthodes : rien à faire, je n'y arrive pas.
Je ne pensais pas que c'était compliqué... et bien pour moi, si.
Je voudrais juste garder une trace des courriels envoyés (cf ma question
précédente), mais je n'ai pas envie d'encombrer ma boîte aux lettres, donc
j'ai fait un petit fichier texte comme ça :
$fichier=fopen("fichier.txt","a+");
// Ceci à chaque envoi de courriel
$tlog="Courriel envoyé à ".$courriel." (".$pseudo.") avec la
listen".$liste1.";n";
fwrite($fichier,$tlog);
// Fin des envois
fclose($fichier);
...
Seulement voilà, j'aimerais aussi pouvoir le relire, et c'est là que ça se
gâte :
$fichier=fopen("fichier.txt","r");
$lecture=fgets($fichier);
$donnees=explode(";",$lecture);
$combien=count($donnees)-1;
for ($i=0;$i<=$combien;$i++)
{echo $donnees[$i],"<br>";}
fclose($fichier);
C'est un code qui marche parfaitement sur d'autres fichiers texte sur un
autre de nos sites et là, rien à faire, seule une partie de la 1ère ligne
est affichée !
Non, toute la première ligne est affichée, la seule et unique ligne que
lit ton programme. Tu confonds une ligne de texte, au sens de php, avec
un enregistrement, au sens de ton appli.
Courriel envoyé à xxxxxxx@yahoo.fr (untel) avec la liste
Et c'est tout !
J'ai cherché sur le ouaibe, essayé d'appliquer d'autres méthodes : rien à
faire, je n'y arrive pas.
Tu n'as peut-être pas chercher au bon endroit :
http://fr.php.net/manual/fr/function.fgets.php
Je ne pensais pas que c'était compliqué... et bien pour moi, si.
Je voudrais juste garder une trace des courriels envoyés (cf ma question précédente), mais je n'ai pas envie d'encombrer ma boîte aux lettres, donc j'ai fait un petit fichier texte comme ça :
$fichier=fopen("fichier.txt","a+"); // Ceci à chaque envoi de courriel $tlog="Courriel envoyé à ".$courriel." (".$pseudo.") avec la listen".$liste1.";n"; fwrite($fichier,$tlog); // Fin des envois fclose($fichier);
...
Seulement voilà, j'aimerais aussi pouvoir le relire, et c'est là que ça se gâte :
$fichier=fopen("fichier.txt","r"); $lecture=fgets($fichier); $donnees=explode(";",$lecture); $combien=count($donnees)-1; for ($i=0;$i<=$combien;$i++) {echo $donnees[$i],"<br>";} fclose($fichier);
C'est un code qui marche parfaitement sur d'autres fichiers texte sur un autre de nos sites et là, rien à faire, seule une partie de la 1ère ligne est affichée !
Non, toute la première ligne est affichée, la seule et unique ligne que lit ton programme. Tu confonds une ligne de texte, au sens de php, avec un enregistrement, au sens de ton appli.
Courriel envoyé à (untel) avec la liste
Et c'est tout !
J'ai cherché sur le ouaibe, essayé d'appliquer d'autres méthodes : rien à faire, je n'y arrive pas.
Non, toute la première ligne est affichée, la seule et unique ligne que lit ton programme. Tu confonds une ligne de texte, au sens de php, avec un enregistrement, au sens de ton appli.
Oui, je pense que c'est (c'était ?) bien mon problème.
Oh si, j'étais allée voir, mais il est évident que je n'avais pas compris ce que je lisais. J'ai dû croire que le pointeur se déplaçait gentiment du début à la fin du fichier...
Non, toute la première ligne est affichée, la seule et unique ligne
que lit ton programme. Tu confonds une ligne de texte, au sens de php,
avec un enregistrement, au sens de ton appli.
Oui, je pense que c'est (c'était ?) bien mon problème.
Tu n'as peut-être pas chercher au bon endroit :
http://fr.php.net/manual/fr/function.fgets.php
Oh si, j'étais allée voir, mais il est évident que je n'avais pas compris
ce que je lisais. J'ai dû croire que le pointeur se déplaçait gentiment du
début à la fin du fichier...
Non, toute la première ligne est affichée, la seule et unique ligne que lit ton programme. Tu confonds une ligne de texte, au sens de php, avec un enregistrement, au sens de ton appli.
Oui, je pense que c'est (c'était ?) bien mon problème.
Oh si, j'étais allée voir, mais il est évident que je n'avais pas compris ce que je lisais. J'ai dû croire que le pointeur se déplaçait gentiment du début à la fin du fichier...