我正在尝试重命名文件但我收到此错误。
$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
答案 0 :(得分:1)
日期中的/
对于文件名无效,并且被函数解释为目录分隔符
请使用-
来分隔日期部分,即mm-dd-yyyy
$newFile = "{$surname}_{$firstname}_{$dob}";
$string = str_replace('/', '-', $newFile);
rename($filename, "$string.pdf");
答案 1 :(得分:0)
这是因为斜杠是Windows文件名中的无效字符(它们在类Unix系统上充当目录分隔符)。你必须用有效的东西替换它们,例如强调: {{1}}