COMPTER DES PAGES PRÉCISES (NEWS, TUTOS, ARTICLES) POUR STATS

malalam Messages postés 10839 Date d'inscription lundi 24 février 2003 Statut Membre Dernière intervention 2 mars 2010 - 3 janv. 2008 à 22:48
cs_linkid Messages postés 100 Date d'inscription mardi 29 novembre 2005 Statut Membre Dernière intervention 8 mai 2009 - 4 janv. 2008 à 00:04
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/45291-compter-des-pages-precises-news-tutos-articles-pour-stats

cs_linkid Messages postés 100 Date d'inscription mardi 29 novembre 2005 Statut Membre Dernière intervention 8 mai 2009
4 janv. 2008 à 00:04
Je viens de tester strpos et stripos et ça ne fonctionne pas chez moi (je suis chez free donc pas de php5 je crois)
Donc pour le moment, je vais laisser strstr car ça marche.
malalam Messages postés 10839 Date d'inscription lundi 24 février 2003 Statut Membre Dernière intervention 2 mars 2010 25
3 janv. 2008 à 23:41
Mais là c'est du php5 par contre.
malalam Messages postés 10839 Date d'inscription lundi 24 février 2003 Statut Membre Dernière intervention 2 mars 2010 25
3 janv. 2008 à 23:40
stripos()
et glob fonctionne à partir de php 4.3, ça m'étonne un peu que ça ne fonctionne pas chez toi...et ça fait exactement ce que tu veux. Mais bref.
Tu sais, des manières de faire plus simple que la tienne, il y en a des tonnes en fait, c'est ce que l'on essaye de te dire.
Par exemple :
<?php
function myFilter($v) {
return false !== stripos($v, 'fiche.php');
}
echo count(array_filter(scandir('.'), 'myFilter'));
?>
cs_linkid Messages postés 100 Date d'inscription mardi 29 novembre 2005 Statut Membre Dernière intervention 8 mai 2009
3 janv. 2008 à 23:29
En fait, je viens de revérifier et j'ai un doute sur la casse... si vous pouviez m'éclairer.
cs_linkid Messages postés 100 Date d'inscription mardi 29 novembre 2005 Statut Membre Dernière intervention 8 mai 2009
3 janv. 2008 à 23:26
J'avais déjà testé glob() pour voir et ça ne fesait pas ce que je voulais... de plus, j'ai testé ta commande et elle ne fonctionnait pas chez moi.
Enfin, j'ai hésité entre strpos et strstr et j'ai lu que strstr ne tenait pas compte de la casse, ce qui est très bien si on met des majuscules par erreur ou quoi que ce soit...
cs_yoman64 Messages postés 592 Date d'inscription samedi 19 janvier 2002 Statut Membre Dernière intervention 4 décembre 2008
3 janv. 2008 à 22:55
ah Malalam tu m'as devancé , j'étais justement en train de lire la documentation de glob pour être sur de ce que j'allais dire :P
malalam Messages postés 10839 Date d'inscription lundi 24 février 2003 Statut Membre Dernière intervention 2 mars 2010 25
3 janv. 2008 à 22:54
Oui en plus tu aurais tout pu faire dans le while().
malalam Messages postés 10839 Date d'inscription lundi 24 février 2003 Statut Membre Dernière intervention 2 mars 2010 25
3 janv. 2008 à 22:53
Sinon, au niveau de ton code : évite de mettre des fonctions du genre count() dans un for().Parce qu'elle est alors exécutée à chaque itération de ta boucle, alors que tu n'en as besoin qu'une seule fois.
Et strstr() n'est pas appropriée là, du tout :
if(false !== strpos($chaine, $files[$i])) {
$nb ++;
}
strstr() extrait toute une partie de chaîne, c'est bien plus lent que strpos() qui se contente de dire si une chaîne se trouve dans une autre, et si oui, à quelle position.
cs_yoman64 Messages postés 592 Date d'inscription samedi 19 janvier 2002 Statut Membre Dernière intervention 4 décembre 2008
3 janv. 2008 à 22:52
Salut,
Pourquoi faire deux boucles ?
malalam Messages postés 10839 Date d'inscription lundi 24 février 2003 Statut Membre Dernière intervention 2 mars 2010 25
3 janv. 2008 à 22:48
Hello,

<?php
$rep = '.';
echo count(glob($rep.'/*.fiche.php'));
?>
Rejoignez-nous