NOMBRE DE FICHIERS DANS UN RÉPERTOIRE

cs_Kirua Messages postés 3006 Date d'inscription dimanche 14 avril 2002 Statut Membre Dernière intervention 31 décembre 2008 - 26 juil. 2002 à 00:04
reynum Messages postés 7 Date d'inscription lundi 13 novembre 2000 Statut Membre Dernière intervention 12 juillet 2011 - 16 juil. 2011 à 15:36
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/12980-nombre-de-fichiers-dans-un-repertoire

reynum Messages postés 7 Date d'inscription lundi 13 novembre 2000 Statut Membre Dernière intervention 12 juillet 2011
16 juil. 2011 à 15:36
Bon je vais faire un truc simple et complet :

$rep="mon_repertoire_a_analyser/";//répertoire à parcourir (celui dans lequel tout va ce passer)

$elements_voulus = count(glob($rep."*"));//compte le nombre d'éléments (fichiers et répertoires) présent
$elements_voulus = count(glob($rep."*.html"));//compte le nombre de fichiers ayant l'extension .html
$elements_voulus = count(glob($rep."nouveau*.*"));//compte le nombre d'éléments dont le nom commence par nouveau et qui contient un point
$elements_voulus = count(glob($rep."nouveau*"));//compte le nombre d'éléments dont le nom commence par nouveau
$elements_voulus = count(glob($rep."*",GLOB_ONLYDIR));//compte le nombre de répertoires
$elements_voulus = count(glob($rep."*super*"));//compte le nombre d'éléments dont le nom contient super

//on peut faire des combinaisons
$elements_voulus = count(glob($rep."*super*.html"));//compte le nombre de fichiers .html dont le nom contient super
$elements_voulus = count(glob($rep."*"))-count(glob($rep."*",GLOB_ONLYDIR));//compte le nombre totel d'éléments et enlève le nombre de dossiers

//bien sûr on peut faire beaucoup plus de chose
//une boc en français :
//http://php.net/manual/fr/function.glob.php
//
//Voilou
//Je pense que ça répond à pas mal de questions
reynum Messages postés 7 Date d'inscription lundi 13 novembre 2000 Statut Membre Dernière intervention 12 juillet 2011
16 juil. 2011 à 14:48
Une autre solution qui compte aussi les dossiers.

$rep = "mon_repertoire_a_analyser/";
$nombre_fichier = count(scandir($rep))-2;//donne le nombre de fichiers et dossiers du répertoire
MJ92 Messages postés 185 Date d'inscription lundi 23 janvier 2006 Statut Membre Dernière intervention 14 décembre 2014
24 déc. 2009 à 00:19
Hello,

Un an après ca va mieux pour le code, depuis j'ai trouve une solution avec un membre génial (eterneige, désolé si j'écorche le pseudo).
Sinon sympa pour les idées afin de "modifier" le code à sa sauce :)
psycomat2205 Messages postés 1 Date d'inscription samedi 17 novembre 2007 Statut Membre Dernière intervention 22 décembre 2009
22 déc. 2009 à 17:22
salut ...
le $num_images = count_files("site/images"); tu le mets après la fonction count_files()

et pour le reste

function $num_images = ($dir)
{.....}

$num_images = count_files("site/images");
echo $num_images; et ca marche;

sinon tu peut remplacer le return $num par echo $num;

et quand tu appele ta fonction il affiche direct;

si vous comprenez pas mbourrelly@gmail.com
MJ92 Messages postés 185 Date d'inscription lundi 23 janvier 2006 Statut Membre Dernière intervention 14 décembre 2014
30 mars 2008 à 23:23
Salut,

Hum, perso, je trouve que pour "débutant", ça manque un peu d'explication, surtout que ce sont des codes principalement POUR les débutants...

- On ne sait meme pas ou mettre $num_images = count_files("site/images");
- On ne sait pas non plus si on parle d'echo ou autre...

Enfin, une petite explication serait la bienvenue =)

Sinon le code est utile et simple (d'utilisation, pas à comprendre).
cs_Dean Messages postés 500 Date d'inscription mardi 16 avril 2002 Statut Membre Dernière intervention 2 août 2004
26 mai 2007 à 11:20
A mon avis, le problème vient de cette ligne :

$dir = "http://merlin.8.free.fr/image_aleatoire_simplifie/Images/";

La répertoire est défini sur sur un site distant (URL complète) alors que PHP ne peut que travailler en local.
Il faudrait placer le code à la racine du site (par exemple), et faire :

$dir = "image_aleatoire_simplifie/Images/";
cs_anon Messages postés 2 Date d'inscription samedi 9 octobre 2004 Statut Membre Dernière intervention 17 avril 2007
22 mai 2007 à 16:36
je n'arrive pas bien a comprendre le probleme que je rencontre...
j'essai d'utiliser le code mais pas moyen de trouver d'où vient le probleme :s




<? $dir = "http://merlin.8.free.fr/image_aleatoire_simplifie/Images/"; ?>

<html>

<?

function count_files($dir)
{
$num = 0;

$dir_handle = opendir($dir);
while($entry = readdir($dir_handle))
if(is_file($dir.'/'.$entry))
$num++;
closedir($dir_handle);

return $num;
}
?>
<? echo ("$num"); ?>

</html>




mon but est d'afficher la valeur de la variable $num mais hélas c'est un echec :s :s
cs_Kirua Messages postés 3006 Date d'inscription dimanche 14 avril 2002 Statut Membre Dernière intervention 31 décembre 2008
8 déc. 2002 à 14:31
c'est l'usage que j'en ai fait sur
http://www.kiruasofts.be.tf
cs_Dean Messages postés 500 Date d'inscription mardi 16 avril 2002 Statut Membre Dernière intervention 2 août 2004
9 août 2002 à 19:06
Ça peut servir pour les applications de téléchargement, de façon générale.
cs_POPO Messages postés 9 Date d'inscription dimanche 23 septembre 2001 Statut Membre Dernière intervention 13 août 2002
9 août 2002 à 18:20
ca sert a koi d'autre ????
cs_Kirua Messages postés 3006 Date d'inscription dimanche 14 avril 2002 Statut Membre Dernière intervention 31 décembre 2008
26 juil. 2002 à 00:04
ça peut aider en effet pour un album de photo dynamique :) merci ^^
Rejoignez-nous