XAMPP重命名函数


XAMPP rename function

我试着用这种方式写一个批量重命名:

if ($handle = opendir('../../upload_files')) {
  while (false !== ($fileName = readdir($handle))) {
    $newName = str_replace(", ","_",$fileName);
    rename($fileName, $newName);
    $count++;
  }
  closedir($handle);
  echo $count." files renamed";
}

但是当我运行脚本时,我得到一个警告:

Warning: rename(..,..) [function.rename]: No error in E:'WEBS'rename.php on line 6

是什么导致错误?

如果目标文件已经存在,PHP在Windows环境下会知道这种错误。

PHP 5.3 https://bugs.php.net/bug.php?id=48771有一个已知的错误,有类似的错误信息。

我建议尝试以下修改你的代码(它是基于你的代码,只是一些修正)

$dir = "../../upload_files";
if ($handle = opendir($dir))
{
    while (false !== ($fileName = readdir($handle)))
    {
        if (!isset($count)) $count = 0;
        if ($fileName == ".." || $fileName == ".") continue;
        $newName = str_replace(", ","_",$fileName);
        copy($dir.$fileName, $dir.$newName);
        $count++;
    }
    closedir($handle);
    echo $count." files renamed";
}