php入门教程-实用脚本一键更改文件前缀名随机数字英文[代码笔记]

说明

当目录里的文件名需要更改时,可以使用 PHP 的 函数将文件名更改为新的随机名称。可以使用 函数列出目录中的所有文件,然后使用 循环遍历每个文件,对文件名进行更改。

这个代码中,我们首先定义了目录的路径、需要更改的文件扩展名、新文件名的长度。然后我们使用 函数获取目录下所有指定扩展名的文件,使用 循环遍历每个文件,并且在每个循环中使用 函数获取文件扩展名,使用 函数生成新的随机文件名,使用 函数将文件重命名为新文件名。最后,我们定义了一个 函数,用于生成随机文件名。glob()foreachpathinfo()generate_random_name()rename()generate_random_name()

示例代码

<?php
$dir_path = './bg/'; // 目录路径
$allowed_ext = ['jpg', 'jpeg', 'png', 'gif']; // 需要更改的文件扩展名
$prefix_length = 10; // 新文件名的长度

$files = glob($dir_path . '/*.{'. implode(',', $allowed_ext) . '}', GLOB_BRACE); // 获取目录下所有指定扩展名的文件

foreach ($files as $file) {
    $ext = pathinfo($file, PATHINFO_EXTENSION); // 获取文件扩展名
    $new_name = generate_random_name($prefix_length) . '.' . $ext; // 生成新的随机文件名
    $new_path = $dir_path . '/' . $new_name; // 生成新文件的路径

    rename($file, $new_path); // 重命名文件
}

function generate_random_name($length) {
    $characters = '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ';
    $random_name = '';
    for ($i = 0; $i < $length; $i++) {
        $random_name .= $characters[rand(0, strlen($characters) - 1)];
    }
    return $random_name;
}
?>

优化代码

使用该函数获取文件扩展名,并使用函数为每个文件生成随机前缀。然后,它使用该函数重命名文件,如果重命名成功,则输出成功消息,如果重命名不成功,则输出错误消息

  1. 指定目录路径为$dir_path
  2. 使用scandir()函数获取目录下的所有文件。
  3. 循环处理每个文件,跳过 和...两个特殊文件。
  4. 使用md5()函数生成随机字符串,并使用substr()函数截取前10位字符作为新的文件名。
  5. 使用rename()函数将文件重命名。
  6. 根据重命名结果输出相应信息。
<?php
$dir_path = "./bg/bg/"; // 指定目录路径
$files = scandir($dir_path); // 获取目录下所有文件

foreach ($files as $file) {
    if ($file != '.' && $file != '..') {
        $extension = pathinfo($file, PATHINFO_EXTENSION);
        $new_filename = substr(md5(uniqid(mt_rand(), true)), 0, 10) . '.' . $extension;
        $old_file_path = $dir_path . $file;
        $new_file_path = $dir_path . $new_filename;
        
        if (rename($old_file_path, $new_file_path)) {
            echo "文件 " . $file . " 重命名为 " . $new_filename . "<br>";
        } else {
            echo "重命名文件 " . $file . " 失败!<br>";
        }
    }
}
?>

 

© 版权声明
THE END
喜欢就支持一下吧
点赞0 分享
评论 抢沙发
头像
欢迎您留下宝贵的见解!
提交
头像

昵称

取消
昵称表情代码图片

    暂无评论内容