Compter leslignes d'un fichier texte

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : Compter leslignes d'un fichier texte

par Davee » 27 avr. 2006, 14:44

Pourquoi j'y ai pas penser plus tôt. (peut_être parce que j'y connait rien)
Les bras m'en tombent sur le cul.
Voilà le code final (qui peut encore être un peu racourci mais après on va dire que je travail pas) :D
  <?php
    $chemin = 'sousmenu/';
	$fich = $chemin.'texte.txt';
	$tabFich = file($fich);
	foreach($tabFich as $numeroLigne => $contenuLigne) {
   echo '<a class="super" href="#"> '.$contenuLigne.'</a><br />';
	}
  ?>
au départ mon code faisait 20 lignes
bon je risque d'avoir un petit problème avec les liens mais je vais fouiller un peu.

ouckileou je te doit une grosse chandelle.
merci encore.

David.

par ouckileou » 27 avr. 2006, 13:59

Ce code peut donc te servir à récupérer le nombre de lignes, mais est-ce que tu en as réellement besoin ?

Parceque sinon une boucle foreach() sur le tableau renvoyé fonctionnera aussi, quel que soit le nombre de lignes, connu ou inconnu :
<?php
$fich = 'fichier.txt';

// on récupère le fichier dans un tableau (1 ligne par cellule)
$tabFich = file($fich);

// affichage du tableau
foreach($tabFich as $numeroLigne => $contenuLigne) {
   echo $numeroLigne.' : '.$contenuLigne.'<br />';
}
?>
Enfin si tu as eu tout ce que tu voulais tu peux taguer Résolu ;)

par Davee » 27 avr. 2006, 13:43

ha oui là en effet c'est nettement plus simple. Je crois que je vais prendre celui-là c'est quand même mieux.

Merci.

David.

par ouckileou » 27 avr. 2006, 13:31

Je n'ai fait que citer la documentation :D

Mais en fait tu avais plus simple avec file() (c'était ça la piste, c'était peut-être trop succinct ma phrase et mes ampoules...)
<?php
$fich = 'fichier.txt';

$tabFich = file($fich);

$nbLignes = count($tabFich);

echo 'le fichier fait '.$nbLignes.' ligne(s).';
?>

par Davee » 27 avr. 2006, 12:56

ouf! J'ai trouvé un petit truc qui permet de compter les lignes

Code : Tout sélectionner

function LineCount($fileName) { $fileCount = -1; $h = @fopen($fileName, 'r'); if ($h) { while (!feof($h)) { fgets($h, 4096); // Voir remarque $fileCount++; } fclose($h); } return($fileCount); }
et ça marche en plus.

Merci ouckileou, la fonction file expliquée come ça c'est nettement plus compréhensible. :)

david.

par ouckileou » 27 avr. 2006, 11:19

file -- Lit le fichier et renvoie le résultat dans un tableau
[...]
Chaque élément du tableau correspond à une ligne du fichier, et les retour-chariots sont placés en fin de ligne.
:idea: compter le nombre de cellules :idea:

Compter leslignes d'un fichier texte

par Davee » 27 avr. 2006, 09:42

Bonjour
Y a-t-il une fonction qui permette de compter les lignes d'un fichier texte.
La fonction file permet de les lire une à une mais il faudrait que je puisse les compter avant pour faire une boucle .

Merci d'avance.

David