Anr*_*rgh 1 php string function
我构建了一个带文件名的函数,并在文件名中递增一个计数器并返回它,但是,一切都是正确的,除了返回不返回文件名.
有什么帮助吗?
我的代码:
$filename = join("", array_reverse($date));
$filename .= ".xml";
$dir = "../gigs";
$file = $dir."/".$filename;
function getNewFileName($filename, $dir) {
if (is_file("$dir/$filename")) {
if (strpos($filename, "_") === false) {
$filename = str_replace(".xml","_1.xml",$filename);
getNewFileName($filename, $dir);
}
else {
$pos = strpos($filename, "_");
$counter = (int)substr($filename, $pos+1,1);
$counter++;
$filename = substr($filename,0, $pos)."_".$counter.".xml";
getNewFileName($filename, $dir);
}
} else {
// echoing HERE shows that the string is manipulated correctly
return (string)$filename; // but returning here is not working
}
}
echo getNewFileName($filename, $dir); // <- this last line prints nothing out
Run Code Online (Sandbox Code Playgroud)
提前致谢.
Ben*_*mes 11
这条线:
getNewFileName($filename, $dir);
Run Code Online (Sandbox Code Playgroud)
需要一个return:
return getNewFileName($filename, $dir);
Run Code Online (Sandbox Code Playgroud)