Hallo,
ich habe eine Funktion, die mir einen bestimmten Pfad zu einem Ordner zurückgibt:
Ich übergebe einen ordner, wo er rein gehen soll und eine Id, die dem Namen des gesuchten Ordners entspricht. Er geht jetzt rekursiv durch die Ordner und sucht. So in der If - Schleife ( if($path_parts['basename'] == strval($user_id))) findet er dann auch wirklich den Ordner und gibt den zurück. Allerdings steht dann bei trigger_error("gefunden: ".$d); einfach nichts drin. Warum? Eigentlich bricht er doch dann durch das return die Funktion ab und gibt den Ordne rzurück, aber irgendwie krieg ich immer nichts zurück :-(
ich habe eine Funktion, die mir einen bestimmten Pfad zu einem Ordner zurückgibt:
Code:
function returnUserDir($dir,$user_id) {
function returnUserDir_recursive($dir,$user_id) {
if (is_dir($dir)) {
$dirhandle=opendir($dir);
while (($file = readdir($dirhandle)) !== false) {
if (($file!=".")&&($file!="..")) {
$currentfile = $dir."/".$file;
$path_parts = pathinfo($currentfile);
if($path_parts['basename'] == strval($user_id))
{
//trigger_error($currentfile);
return $currentfile;
}else{
if (is_dir($currentfile))
returnUserDir_recursive($currentfile,$user_id);
}
}
}
}
}
$d = returnUserDir_recursive($dir,$user_id);
trigger_error("gefunden: ".$d);
return $d;
}
Ich übergebe einen ordner, wo er rein gehen soll und eine Id, die dem Namen des gesuchten Ordners entspricht. Er geht jetzt rekursiv durch die Ordner und sucht. So in der If - Schleife ( if($path_parts['basename'] == strval($user_id))) findet er dann auch wirklich den Ordner und gibt den zurück. Allerdings steht dann bei trigger_error("gefunden: ".$d); einfach nichts drin. Warum? Eigentlich bricht er doch dann durch das return die Funktion ab und gibt den Ordne rzurück, aber irgendwie krieg ich immer nichts zurück :-(