1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62
|
<?php
set_time_limit("60000");
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title></title>
</head>
<body>
<?php
$rec = 0; //utiliser pour détecter les retour arrière de la fonction
function listage($path)
{
//On déclare le tableau qui contiendra tous les items de nos dossiers
$tableau_elements = array();
//On ouvre le dossier
$dir = opendir($path);
//Pour chaque élément du dossier...
while (($element_dossier = readdir($dir)) !== FALSE)
{
//...si l'élément est lui-même un dossier (en excluant le dossier parent et actuel), on appelle la fonction de listage en modifiant la racine du dossier à ouvrir
if ($element_dossier != '.' && $element_dossier != '..' && is_dir($path.'/'.$element_dossier))
{
//Ici on fusionne le tableau grâce à la fonction array_merge. Au final, tous les résultats de nos appels récursifs à la fonction Listage fusionneront dans le même tableau
$tableau_elements = array_merge($tableau_elements, listage($path.'/'.$element_dossier));
}
elseif ($element_dossier != '.' && $element_dossier != '..')
{echo '<br/>\$element_dossier :'.$path.'/'.$element_dossier;
//Sinon l'élément est un fichier, on enregistre dans le tableau
$tableau_elements[] = $path.'/'.$element_dossier;
}
}
//On ferme le dossier
closedir($dir);
//On retourne le tableau
return $tableau_elements;
}
?>
<?php
//On définit la racine
$path = 'C:\Users\B.REDOUANE\Desktop\Httrak\Profiling_Kompass\directory.kompass.com\fr'.utf8_decode("\Algérie");
//Appel à notre fonction
$tableau_elements = Listage($path);
echo "<pre>";
print_r( $tableau_elements );
echo "</pre>";
?>
</body>
</html> |
Partager