Posez votre question Signaler

Saut de ligne lecture fichier txt PHP

dallap - Dernière réponse le 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
Lire la suite 

Saut de ligne lecture fichier txt PHP »

3 réponses
Réponse
+0
moins plus
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.
Ajouter un commentaire
Réponse
+0
moins plus
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;
Ajouter un commentaire
Ce document intitulé « Saut de ligne lecture fichier txt PHP » issu de CommentCaMarche (www.commentcamarche.net) est mis à disposition sous les termes de la licence Creative Commons. Vous pouvez copier, modifier des copies de cette page, dans les conditions fixées par la licence, tant que cette note apparaît clairement.
Dossier à la une
Passage au tout numérique : quel coût pour les particuliers ?