目录中有一个文件,我正在尝试使用重命名(arg1,arg2)来重命名arg1文件。
但是,arg1文件包含亚洲字母,我收到该文件不可用的消息。
我该如何解决这个问题
感谢
$elements = scandir($dir);
foreach ($elements as $key => $value)
{
rename("./$value", "$newname");
}
答案 0 :(得分:1)
请务必正确放置路径:
$elements = scandir($dir);
foreach ($elements as $key => $value) {
rename($dir.'/'.$value, $dir.'/'.$newname);
}
为了不那么抽象,假设$ dir类似于“/ home / someuser / somefiles”,而你的脚本位于“/var/www/script.php”,你得到所有文件(例如“oldname.txt” “)来自scandir($ dir),所以文件的绝对路径是”/home/someuser/somefiles/oldname.txt“,但你将”./oldname.txt“传递给重命名函数,这实际上是“/var/www/oldname.txt”