在PHP中使用重命名函数

在PHP中使用重命名函数,php,Php,目录中有一个文件,我正在尝试使用rename(arg1,arg2)重命名arg1文件 但是,arg1文件包含亚洲字母,我得到的消息是该文件不可用 我怎样才能解决这个问题 谢谢 $elements = scandir($dir); foreach ($elements as $key => $value) { rename("./$value", "$newname"); } 请确保正确放置路径: $elements = scandir($dir); foreac

目录中有一个文件,我正在尝试使用rename(arg1,arg2)重命名arg1文件

但是,arg1文件包含亚洲字母,我得到的消息是该文件不可用

我怎样才能解决这个问题

谢谢

    $elements = scandir($dir);


foreach ($elements as $key => $value) 
{

    rename("./$value", "$newname");

}

请确保正确放置路径:

$elements = scandir($dir);
foreach ($elements as $key => $value) {
    rename($dir.'/'.$value, $dir.'/'.$newname);
}

为了不那么抽象,假设$dir类似于“/home/someuser/somefiles”,并且您的脚本位于“/var/www/script.php”,您将从scandir($dir)获取所有文件(例如“oldname.txt”),因此文件的绝对路径是“/home/someuser/somefiles/oldname.txt”,但您将“/oldname.txt”传递给重命名函数,实际上是“/var/www/oldname.txt”

我想你需要:
rename(“./”$value,$newname)
您尝试使用相对路径
/
重命名,您的PHP文件是否位于您尝试进行重命名的当前目录中?
因为如果您的PHP脚本不在同一文件夹中,您必须将整个路径设置为
重命名