Radiohead4ever
Messages postés71Date d'inscriptionsamedi 7 février 2004StatutMembreDernière intervention21 novembre 2006
-
28 août 2006 à 21:17
FhX
Messages postés2350Date d'inscriptionmercredi 13 octobre 2004StatutMembreDernière intervention18 avril 2015
-
29 août 2006 à 13:25
Bon je commence avec le php et j'ai un petit problème concernant la fonction file(). Celle-ci, selon la doncumentation, serait supposé lire ligne par ligne le fichier et stoquer les lignes dans des variables. Un array serait donc tout à fait justifié. C'est ce que j'ai fais :
</head>
titre de la page
<?php
$list_of_posts = file("posts.list");
readfile($list_of_posts[0]);
readfile($list_of_posts[1]);
readfile($list_of_posts[2]);
readfile($list_of_posts[3]);
echo "$list_of_posts[0]$list_of_posts[1]$list_of_posts[2]$list_of_posts[3]";
?>
</html>
Le fichier posts.list quant à lui se lis comme suit :
Il y a donc une erreur qui se produit, car effectivement, la fontion file a bel et bien entrer les lignes du fichier posts.list dans l'array mais y a ajouter le petit Carriage Return !! Or, ce petit CR n'est pas présent à la fin des noms des fichiers sur le serveur et le code renvoie une erreur de fichier inexistant (sauf pour la dernier de la liste, puisqu'il n'a évidement pas de CR). Maintenant que vous comprenez bien la situation, d'après vous, comment devrais-je procéder pour arriver à mes fins?
coockiesch
Messages postés2268Date d'inscriptionmercredi 27 novembre 2002StatutMembreDernière intervention13 septembre 20134 28 août 2006 à 21:28
Salut!
Et en utilisant une fonction de type rtrim sur $list_of_posts[0] ?
@++
R@f
www.allpotes.ch: Photos, humour, vidéos, gags, ...
"On dit que seulement 10 personnes au monde comprenaient Einstein. Personne ne me comprends. Suis-je un génie???"
FhX
Messages postés2350Date d'inscriptionmercredi 13 octobre 2004StatutMembreDernière intervention18 avril 20153 28 août 2006 à 22:05
On va faire comme toi (pour te montrer que tu n'as pas tout lu visiblement !) :
"selon la doncumentation"
C'est parti :
"serait supposé lire ligne par ligne le fichier et stoquer les lignes dans des variables. Un array serait donc tout à fait justifié."
Nan, dans 1 variable qui est un tableau. La doc précise à ce sujet :
array file ( string filename [, int use_include_path [, resource context]] )
C'est pas pour rien le "array" ici hein :p
"Il y a donc une erreur qui se produit, car effectivement, la fontion file a bel et bien entrer les lignes du fichier posts.list dans l'array mais y a ajouter le petit Carriage Return !! Or, ce petit CR n'est pas présent à la fin des noms des fichiers sur le serveur et le code renvoie une erreur de fichier inexistant"
En effet, c'est marqué la :
"file() est identique à file_get_contents(), hormis le fait que file() retourne le fichier filename dans un tableau. Chaque élément du tableau correspond à une ligne du fichier, et les retour-chariots sont placés en fin de ligne."
"Maintenant que vous comprenez bien la situation, d'après vous, comment devrais-je procéder pour arriver à mes fins?"
Bah en lisant un peu plus bas dans la doc :
"Note : Chaque élément du tableau résultat contiendra la nouvelle ligne de fin de chaîne. Il faudra donc utiliser rtrim() sur cette valeur pour la supprimer."
Tout simple quand on prend le temps de tout lire hein :)
Donc j'y vois 2 choses, soit tu as parcouru très (trop !) rapidement la doc de PHP, soit tu ne l'as pas lu du tout.
Va savoir ce qui est vrai ;)
Radiohead4ever
Messages postés71Date d'inscriptionsamedi 7 février 2004StatutMembreDernière intervention21 novembre 2006 29 août 2006 à 05:08
Tu as raison FhX, j'ai lu la doc très rapidemment, et lorsque j'ai eu un problème je suis allé tout de suite à l'endroit où l'on m'a toujours bien répondu, avec courtoisie et simplicité. L'altruisme ambiant de ce forum ne serait rien sans ses membres dévoués pour lui donner vie, mais bien sûr, il y a des exceptions.