随机重命名所有文件

时间:2015-01-23 05:40:13

标签: php file rename

我正在尝试编写一个执行以下操作的脚本,但我不确定从哪里开始:

获取目录中的所有文件 - *.JPG and *.jpg00开始重命名上述文件 - 使用RANDOM()功能并将其保存为.JPG 完成后显示成功消息。

目前他们是“RANDOM_FILENAME.JPG或.jpg”我最终想要ranNum.JPG随机数字

我知道我必须获取文件夹中的所有文件并可能将它们分解但我只是以最好的5.*方式混淆了

1 个答案:

答案 0 :(得分:2)

尝试这样的事情:

// getting the list of files
$files = glob('my/dir/*.[jJ][pP][gG]');

foreach($files as $file) 
{
    // here: trying to find a random name.
    // repeat, if such a file already exists 
    do {
        $number = mt_rand(0, 999999);
        $new_name = dirname($file) .'/'. sprintf("%06d", $number) .'.JPG';
    } 
    while(is_file($new_name));

    // now, all we need is love!
    rename ($file, $new_name);
}

echo "Successfully renamed ".count($files)." files!";

这将随机重命名,如528989.JPG,112344.JPG,003424.JPG等。

相关问题