Saut de ligne lecture fichier txt PHP

Fermé
dallap - 4 févr. 2011 à 15:07
 dallap - 4 févr. 2011 à 15:32
Bonjour,

je n'arrive pas à obtenir le résultat que je souhaite.
Je souhaiterai afficher les 10 dernière lignes d'un fichier (en partant de la dernière) et en revenant à la ligne entre chacunes, comme ceci:

ligne1
ligne2
ligne3
...

mais j'obtiens
ligne1ligne2ligne3...
<br><br><br><br>

voici mon code:

$fp = fopen("file.txt","r");
$page = "";
$i = 0;
while (!feof($fp) && $i<=10)
{
$page = fgets($fp, 4096) . $page;
$page .= "<br>";
$i ++;
}
echo $page;

merci de votre aide
A voir également:

3 réponses

Melooo Messages postés 1405 Date d'inscription vendredi 28 novembre 2008 Statut Membre Dernière intervention 18 mars 2013 84
4 févr. 2011 à 15:21
0
Bonjour,

Ce code corrigé devrait afficher les dix première lignes


$fp = fopen("file.txt","r");
$page = "";
$i = 0;
while (!feof($fp) && $i<=10)
{
$page .= fgets($fp) . '<br/>';
$i ++;
}
echo $page;

Pour les dix dernières lignes il faudrait faire :
$tab = array();
$fp = fopen("file.txt","r");

while (!feof($fp))
{
$tab[] = fgets($fp);
}
$page = "";
for ($i=1; $i<=10; $i++) {
$n=count($tab)-$i;
if ($n>=0) $page .= $tab[$n].'<br/>';
}
echo $page;

Ca doit le faire le pense à quelques détails près.
Signature non conforme - Publicité supprimée Modération CCM
0
Merci à tous les 2!
(J'avais déjà lu le lien fournit)

j'ai finalement trouvé en bidouillant...
voici le code qui marche:

$fp = fopen("file.txt","r");
$page = "";
$i = 0;
while (!feof($fp) && $i<=10)
{
$page = fgets($fp, 4096).'<br/>' . $page;
$i ++;
}
echo $page;
0