Afficher le numéro de la dernière ligne

Fermé
another - 24 avril 2011 à 03:23
 le père - 25 avril 2011 à 00:42
Bonjour,
j'ai crée un système de redirection d'url avec un fichier texte contenant les url ( 1 par ligne ).
Le type est du genre
site/u.php?url=1
( 1 Correspond a la ligne 0 du fichier texte ( array ))
et donc voila j'aimerais afficher le numéro de la dernière ligne quand ont l'écrit :)
(Exemple, je crée une URL et elle est dernière ligne ( évidemment ), la ligne 20 par exemple, j'aimerais qu'il y ait un petit texte avec écrit : site/u.php?url=21 ( Par exemple )
Voilà je sais pas si je me suis bien exprimé :)
( En gros je veut afficher le numéro de la dernière ligne du fichier )

A voir également:

3 réponses

Bonjour

Ce petit script compte les lignes d'un fichier (on suppose que le fichier existe).
Attention si ta dernière ligne se termine par un passage à la ligne, ce qui est presque toujours le cas, il faut retirer 1.

<?php
$nomfichier="toto.txt";
  $fp=fopen($nomfichier,'r'); // ouverture du fichier - il faudrait tester si OK
  $nblignes=0;
  while (!feof($fp)) {
    $aa=fgets($fp,10000);  // lecture d'une ligne (on ne se sert pas du contenu)
    $nblignes++;       // comptage
  }
  fclose ($fp); // ne pas oublier de refermer le fichier
  echo $nblignes;
?>
1
Apparaition Messages postés 2 Date d'inscription dimanche 24 avril 2011 Statut Membre Dernière intervention 4 mai 2011
24 avril 2011 à 19:46
En faites, ton système rajoute un chiffre de trop ( 3 au lieu de 2 par exemple )
Donc, il faut sortir un :
$nblignes = $nblignes - 1;
Comme ca tu as le bon chiffre :)
0
Tu n'as pas lu mes explications
Ça dépend si ta dernière ligne se termine par un passage à la ligne ou non.
0
bonjour ,

si je comprends bien , tu veux qu'a partir de l'URL (ex: site/u.php?url=21) ca te cherche la 21 ligne ??

j'ai une idee en tete mais je sais pas si c'est la meilleure :

tu met une boucle for avec un fgets,

$handle = fopen("ton_fichier.txt","r");
for($i=0;$i<$_GET['url'];$i++)
{ $ligne = fgets($handle) } // fgets passe de ligne en ligne dans le fichier ouvert
// on sort de la boucle car $ligne contient maintenant la ligne de valeur $_GET['url'] ligne
echo '<p>'.$ligne.'</p>';


J'espère t'avoir aidé :)
0
ammmmmine, ton code me sort une banale erreur ^-^

Merci le père, ca marcher et ma beaucoup aidé :)
0
Utilisateur anonyme
24 avril 2011 à 18:52
en effet, j'ai oublié le point-virgule apres $ligne=fgets($handle) c'est pour ca que ca marchait pas ^^
0