系统找不到指定重命名文件的路径

时间:2016-12-21 15:17:15

标签: php file-rename

我正在尝试重命名文件但我收到此错误。

$newFile = "$surname _$firstname _$dob";
$string = str_replace(' ', '', $newFile);
rename($filename, "$string.pdf");

此代码产生此错误

Warning: rename(0001_D_A.pdf,Mccoy_Edward_11/22/2016.pdf): The system cannot find the path specified. (code: 3) in C:\xampp\htdocs\script.php on line 7

但是,如果我将代码更改为使用没有变量的普通字符串,则会重命名该文件而不会出现任何错误。

$newFile = "$surname _$firstname _$dob";
$string = str_replace(' ', '', $newFile);
rename($filename, "helloworld");

$ string的输出是 -

Mccoy_Edward_11/22/2016

2 个答案:

答案 0 :(得分:1)

日期中的/对于文件名无效,并且被函数解释为目录分隔符 请使用-来分隔日期部分,即mm-dd-yyyy

$newFile = "{$surname}_{$firstname}_{$dob}";
$string = str_replace('/', '-', $newFile);
rename($filename, "$string.pdf");

答案 1 :(得分:0)

这是因为斜杠是Windows文件名中的无效字符(它们在类Unix系统上充当目录分隔符)。你必须用有效的东西替换它们,例如强调: {{1}}