Bonjour,
Après un bon triturage de cerveau de plus de 4heures comprenant de multiples recherches Google sur les principaux forums traitant du problème, je m'adresse en dernier recours à vous.
J'ai écrit une fonction (basée sur un listing de répertoire) pour obtenir le répertoire complet à partir du nom du fichier. Celui-ci fonctionne mais c'est le return qui pose problème. Mon return ne retourne rien, en revanche, si je le remplace par un echo, c'est mon résultat qui apparaît.
J'ai lu la doc concernant return mais j'ai surement zappé quelque chose...
Voici ma fonction :
Code PHP :
function FTP_CibleFile($conn_id,$rep_cible,$cible) {
$liste_contenu = ftp_nlist($conn_id, $rep_cible);
foreach ($liste_contenu as $element){
$element_cut = explode("\\", $element);
$end_element = sizeof($element_cut);
$end_element--;
$fichier = strpos($element_cut[$end_element],".");
if ($fichier === false) {
$rep_cible = $rep_cible.'\\'.$element_cut[$end_element];
FTP_CibleFile($conn_id,$rep_cible,$cible);
$end_cut = "\\".$element_cut[$end_element];
$rep_cible = str_replace ($end_cut,"",$rep_cible);
$rep_cible = str_replace ("\\","/",$rep_cible);
}
else {
if($element_cut[$end_element]==$cible){
$chemin = str_replace ("\\","/",$rep_cible);
return $chemin;
}
}
}
}
Je l'appelle de la manière suivante :
Code PHP :
$chemin = FTP_CibleFile($conn_id,$rep_cible,$modele);
echo $chemin;
où
$conn_id = ftp_connect($host)
$rep_cible = mon répertoire
$modele = mon nom de fichier
En somme, celle-ci fonctionne mais je n'arrive pas à récupérer son résultat. C'est le principe de récursivité qui me bloque. C'est le classique d'une mauvaise utilisation de return.
J'espère que vous pourrez m'aider, en vous remerciant d'avance,
Jef'