Bonjour,
Voila, je dévellope une petite fonction qui va me permettre de compter le nombre de fichiers présents dans un dossier.
Je rencontre un soucis, parceque je voudrais récupérer les extentions souhaités lors de l'appel de la fonction, et en fonction, compter uniquement ce(s) type(s) de fichier(s).
Voici ma fonction, et comment je l'appel.
Ps: Si vous pouvez aussi m'aider à l'optimiser, n'hésitez pas svp ;-)
Appel de la fonction
<li>Il y'a <?= count_files('./stockage/'.$user_pseudo.'/') ?> fichiers dans mon éspace</li>
La fonction elle même
function count_files($dossier){
if(isset($dossier)&&!empty($dossier)&&file_exists($dossier)&&is_dir($dossier))/*Verifie la variable et bien un repertoire*/
{
$rep=$dossier;
$rep=str_replace("//","/",$rep);
$handle = @opendir($rep);/* Ouvre le repertoire */
if(!$handle)
{
Erreur('Erreur l\'ors de l\'ouverture de '.$rep.' !');
exit;
}
}
$nb_fichier = 0;
while ($f = readdir($handle)) { //Boucle qui enumere tout les fichier d'un repertoire
if(@is_dir($rep.'/'.$f)){ /*verifie si c'est un repertoire*/
}elseif(@is_file($rep.'/'.$f)){/*Verifie si c'est bien un fichier*/
$nom=strrchr($f,'.');
$extension=substr($nom,1);
if($extension=="txt" || $extension=="doc" || $extension=="docx"|| $extension=="pdf")
{
// On incrémente le nombre
$nb_fichier++;
}
}
}
return $nb_fichier;
}
Ce que je souhaite donc, c'est définir if($extension=="txt" || $extension=="doc" || $extension=="docx"|| $extension=="pdf") en fonction d'un paramettre passé à la fonction comme je le fais pour le $dossier.
Je vous remercie de votre aide.
Bien cordialement.