TRASH52

bon je vous met le code!
En fait, je voudrais que mon programme a partir d'un répertoire donné retrace tous les fichiers dossiers, sous-dossiers, fichier contenu dans les sous-dossiers, ect....
J'ai un probleme, effectivament j'arrive à afficher cette arborescence seulement, je l'affiche en je ne sais pas combien d'exemplaire!
si quelqu'un pouvait me venir en aide!
<?
//pour le tester recopier tout dans un fichier index.php, il faut avoir un dossier test dans le meme repertoire
//que le fichier index.php avec une arborescence à l'intérieur
search("test");
function search($repertoire)
{
echo "$repertoire <br>\n ";
//déclaration des variables
$cp_dossier = 0; //compteur de dossier dans le répertoire courant
$cp_fichier = 0; //ce parametre compte le nombre de fichiers dans chaque répertoire
//il n'est pour l'instant pas utilisé
//on ajoute : points car un repertoire ne peut pas contenir ce caractère
$entre_permis = $repertoire."/:";
$tab_rep = explode("/",$entre_permis);
$entre_permis = $tab_rep[0];
$cp_repertoire = 0;
while($entre_permis != ":")
{
$cp_repertoire++;
$entre_permis = $tab_rep[$cp_repertoire];
}
//on ouvre autan de répertoire que nécessaire
for($v=0;$v<$cp_repertoire;$v++)
{
$entre_permis = $tab_rep[$v];
chdir($entre_permis);
}
//chdir($repertoire);
//on ouvre le dossier
$arborescence = opendir('.');
//on lit maintenant le contenu du répertoire
while($fichier = readdir($arborescence))
{
if($fichier != "." && $fichier != "..")
{
//on regarde si le contenu de la lecture est un fichier ou un dossier
if(is_file($fichier))
{
//on enregistre le chemin fichier dans le tableau
$array_arborescence[$repertoire][1][$cp_fichier] = $repertoire."/".$fichier;
$cp_fichier++;
}
elseif(is_dir($fichier))
{
//on enregistre le chemin du répertoire dans le tableau
$array_arborescence[$repertoire][0][$cp_dossier] = $repertoire."/".$fichier;
$cp_dossier++;
}
}
}
for ($i=0;$i<$cp_repertoire;$i++)
{
chdir('..');
}
closedir($arborescence);
for ($i=0;$i<$cp_dossier;$i++)
{
$j=0;
while($cp_dossier>$j)
{
//on va maintenant lister tout le reste
//la fonction se rappelle elle-même
//récursivité
search($array_arborescence[$repertoire][0][$j]);
$j++;
}
}
}
?>
Voila, n'hésitez pas à poser des questions si j'ai fait quelque chose de pas tres clair!
Merci d'avance!