PHP 将多个文件/目录重命名为小写,删除空格和有趣的字符

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了PHP 将多个文件/目录重命名为小写,删除空格和有趣的字符相关的知识,希望对你有一定的参考价值。

function massrename($dir) {

    $files = glob($dir . '/*');
    foreach ($files as $file) {
    
        $pathinfo = pathinfo($file);
        $newname = strtolower($pathinfo['basename']);
        // replace spaces with hyphens and remove funny characters
        $newname = str_replace(' ', '-', $newname);
        $newname = preg_replace('/[^\d\w\._-]/', '', $newname);
        // make sure there's something left
        $newname = $newname ? $newname : 'file';
        // prevent renaming over an existing file
        while ($newname !== $pathinfo['basename'] && file_exists($dir . '/' . $newname)) {
            $newname = '_' . $newname;
        }
        rename($file, $dir . '/' . $newname) || die('o no there was an error');
        is_dir($dir . '/' . $newname) && massrename($dir . '/' . $newname);
    } 
}

以上是关于PHP 将多个文件/目录重命名为小写,删除空格和有趣的字符的主要内容,如果未能解决你的问题,请参考以下文章

在git中将文件批量重命名为小写

将多个目录中的文件重命名为目录名

将文件重命名为小写

在 Powershell 中将文件重命名为小写

linux批量修改目录或者文件名

powershell 重命名为小写文件