如何用PHP重命名目录中的文件扩展名?

时间:2016-07-05 17:18:47

标签: php

我在目录中有一个文件 name.processing我想在name.processed

中重命名这个文件

我有这段代码:

$fn1 = str_replace(".processed", ".processing", $fn);
rename($fn1,$fn);

$ fn包含完整路径。

为什么文件没有在目录中重命名?

我认为这不是重复,因为我知道如何替换字符串的一部分,但我不知道如何替换目录中的文件扩展名

2 个答案:

答案 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

编辑: 如果仍然无效:https://stackoverflow.com/search?q=php+rename

答案 1 :(得分:1)

看起来你有str_replace向后的参数。http://php.net/manual/en/function.str-replace.php

尝试$fn1 = str_replace(".processing", ".processed", $fn);