mouloudikhaled
Messages postés39Date d'inscriptionvendredi 2 novembre 2007StatutMembreDernière intervention28 février 2009
-
13 mars 2008 à 15:48
Evangun
Messages postés1980Date d'inscriptiondimanche 20 février 2005StatutMembreDernière intervention24 septembre 2012
-
14 mars 2008 à 03:03
Bonjour,
Est ce qu'il ya un script en PHP qui nous permet de lire uniquement les 15 dernières lignes d'un fichier.
Merci
Evangun
Messages postés1980Date d'inscriptiondimanche 20 février 2005StatutMembreDernière intervention24 septembre 20124 13 mars 2008 à 17:24
[auteur/MOULOUDIKHALED/1193538.aspx
]Mouloudikhaled, je te conseille
1) d'apprendre à parler français
2) d'apprendre la politesse
pour ta question, une boucle pour remonter à l'envers depuis la fin puis fgets() http://fr.php.net/manual/fr/function.fgets.php, mais c'est pas forcément très pratique. Un explode( ) sera peut-être plus simple.
Vous n’avez pas trouvé la réponse que vous recherchez ?
malalam
Messages postés10839Date d'inscriptionlundi 24 février 2003StatutMembreDernière intervention 2 mars 201025 13 mars 2008 à 19:51
Regarde la doc sur file(), qui renvoie un tableau avec chaque ligne de ton fichier dans une entrée du tableau.
Puis de array_splice(), qui extrait une portion de tableau.
Evangun
Messages postés1980Date d'inscriptiondimanche 20 février 2005StatutMembreDernière intervention24 septembre 20124 14 mars 2008 à 03:03
Lol, genre on bosse pour toi ^^
Coucou, pour chipoter sur la question de la rapidité d'exécution, c'est vrai que explode("/r/n", $string) prendrait un peu de temps mais a priori pas plus qu'un file (plus approprié j'avoue ^^).
Mais la meilleure solution reste comme je le disais de partir de la fin du texte et de partir en arrière. Comme j'avais un peu de temps à perdre, je viens de proposer un snippet pour ça.
Sur un fichier volumineux (3000 lignes), c'est environ 20% plus rapide qu'un file( ) + count( ).
Et si l'on veut récupérer les dernières lignes d'une chaîne plutôt que d'un fichier, pour ta méthode il faudrait faire un file_gets_content( ) + explode( ) pour en faire un tableau. Et dans ce cas la méthode de partir depuis la fin est environ 40% plus rapide.