我在目录中有一个文件 name.processing我想在name.processed
中重命名这个文件我有这段代码:
$fn1 = str_replace(".processed", ".processing", $fn);
rename($fn1,$fn);
$ fn包含完整路径。
为什么文件没有在目录中重命名?
我认为这不是重复,因为我知道如何替换字符串的一部分,但我不知道如何替换目录中的文件扩展名
答案 0 :(得分:2)
PHP在参数序列中并不总是可预测的,您应该查阅文档。
// processing -> processed
// str_replace($search, $replace, $haystack)
$fn_new = str_replace(".processing", ".processed", $fn);
// rename($oldname, $newname)
$rename = rename($fn,$fn_new);
echo "old: $fn, fn_new: $fn_new, rename: ", $rename ? 'success' : 'failure';
http://php.net/manual/en/function.str-replace.php http://php.net/manual/en/function.rename.php
答案 1 :(得分:1)
看起来你有str_replace
向后的参数。http://php.net/manual/en/function.str-replace.php
尝试$fn1 = str_replace(".processing", ".processed", $fn);