Précédent   Forum des professionnels en informatique > PHP > Langage > Fichiers
Fichiers Forum d'entraide sur les fichiers avec PHP. Avant de poster -> FAQ fichiers et Sources fichiers
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 25/02/2007, 14h54   #1
Nouveau Membre du Club
 
Inscription : mai 2005
Messages : 201
Détails du profil
Informations forums :
Inscription : mai 2005
Messages : 201
Points : 29
Points : 29
Par défaut lire dans un fichier les 100 dernières lignes

bonjour a tous,

alors voila, je suis un peu bloqué dans ma prog php: en effet, je désire lire depuis un fichier texte mis a jour régulièrement les 100 dernières lignes (s'il y a 20 lignes, il faut que ça m'affiche 20 lignes, s'il y en a 250, il faut que ça m'affiche les 100 dernières lignes, c'est a dire celles en partant de la fin du fichier).

seulement voila, je ne parviens qu'a lire depuis le début et je ne parviens pas a limiter le nomrbe d'affichage.

mon code actuel est:

Code :
1
2
3
4
5
6
7
8
9
10
11
 
// Lit un fichier dans un tableau.
$lines = file ('actions/gestionmem.txt');
 
// Affiche toutes les lignes du tableau comme, avec les numéros de ligne
foreach ($lines as $line_num => $line) {
	if($line_num<=11)
	{
  		 echo '> <strong>' . $line_num . ' </strong> : ' . htmlspecialchars($line) . '<br />'."\n";
	}
}
ici j'ai volontairement indiqué 11 lignes a lire car si je met 100, comem mon fichier ne compte actuellement que 11 lignes et bien ça plante...

merci de votre aide!
amarcil est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 25/02/2007, 18h36   #2
Membre chevronné
 
Inscription : mai 2005
Messages : 657
Détails du profil
Informations forums :
Inscription : mai 2005
Messages : 657
Points : 722
Points : 722
Salut,

Puisque tu as déjà tes lignes dans un tableau, autant utiliser les fonctions qui agissent sur les tableaux (cf. manuel PHP)

Code :
1
2
3
4
5
6
7
$lines = file ('actions/gestionmem.txt');
 
$dernieres_lignes = array_slice($lines, -100); // Extrait les 100 dernières lignes
 
foreach ($dernieres_lignes as $line) {
	echo "$line\n";
}

Si tu as besoin d'afficher les numéros de lignes en plus :

Code :
1
2
3
4
5
6
7
$lines = file ('actions/gestionmem.txt');
 
$dernieres_lignes = array_slice($lines, -100, 0, true); // Extrait les 100 dernières lignes (en préservant les clés du tableau)
 
foreach ($dernieres_lignes as $line_num => $line) {
	echo '&gt; <strong>' . $line_num . ' </strong> : ' . htmlspecialchars($line) . '<br />'."\n";
}
Taum est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 25/02/2007, 19h32   #3
Nouveau Membre du Club
 
Inscription : mai 2005
Messages : 201
Détails du profil
Informations forums :
Inscription : mai 2005
Messages : 201
Points : 29
Points : 29
merci ça marche super pour le premier. je vais tester avec le 2eme mais ça doit aller aussi.

mici bien
amarcil est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 08h30.


 
 
 
 
Partenaires

Hébergement Web