Saut de ligne lecture fichier txt PHP

dallap -  
 dallap -
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

3 réponses

  1. Utilisateur anonyme
     
    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
  2. dallap
     
    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