PHP批量重命名文件函数,替换特定字符,只需传路径,需要替换的字符,将要替换的字符默认替换为空拿来即用省事

273 阅读1分钟
// 批量修改本地文件名函数
if (!function_exists('lyxDirRename')) {
    function lyxDirRename($dirname, $oldname = '', $newname = '')
    {
        if (!is_dir($dirname)) {
            echo "请仔细检查该目录:{$dirname}是否存在!";
            die;
        }
        $handle = opendir($dirname);
        while (($fn = readdir($handle)) !== false) {

            if ($fn != '.' && $fn != '..') {
                echo "<br>将名为:" . $fn . "\n\r";
                $curDir = $dirname . '/' . $fn;
                if (is_dir($curDir)) {
                    lyxDirRename($curDir, $oldname, $newname);
                } else {
                    $path = pathinfo($curDir);
                    // 关键函数,改成你自己想要的新名字
                    $lyxname = str_replace($oldname, $newname, $fn);
                    $repname = $path['dirname'] . '/' . $lyxname;
                    echo "替换成:" . $repname . "\r\n";
                    // 重命名
                    rename($curDir, $repname);
                }
            }
        }
    }
}