Rekursive Funktion - Problem

Perl-Neuling

Grünschnabel
Ich hab ein Problem mit einer rekursiven Funktion von mir:
PHP:
function writeF($name, $content, $n = 0) {
      if(file_exists($name)) {
        $file = explode('.', $name);
        $n++;
        $newFileName =  $file[0] . $n . '.' . $file[1];
        writeF($newFileName, $content);
      } else {
        $file = explode('.', $name);
        $name =  $file[0] . '.' . $file[1];
        if(!file_put_contents($name, $content)) return false;
        return $name;
      }
    }

Wenn ich vor "return $name" noch ein echo $name mach gibt er mir den Namen aus...
Wenn ich auf den Rückgabewert irgendwo anders benutze bekomme ich einen Rückgabewert von NULL!
Wo liegt das Problem?
 
Zuletzt bearbeitet:
Bei dem rekursiven Aufruf innerhalb der Funktion wird der Rückgabewert desselbigen nicht weiterverarbeitet. Du müsstest also Folgendes schreiben, wenn dieser einfach wieder der Rückgabewert sein soll:
PHP:
return writeF($newFileName, $content);
 
Zurück