详情页

PHP 对文件夹里的文件批量重命名,从1开始,后缀不变

时间:2023年10月04日

编辑:佚名

renameFiles函数:
function renameFiles($dir) {
  // 获取目录下所有文件
  $files = glob($dir . '/*');
  if (empty($files)) {
    return;
  }
  $i = 1;
  foreach ($files as $file) {
    // 获取文件的扩展名
    $ext = pathinfo($file, PATHINFO_EXTENSION);
    // 新文件名
    $newName = $dir . '/' . $i . '.' . $ext;
    // 重命名文件
    if (file_exists($newName)) {
      continue; // 如果新文件名已存在,则跳过
    }
    rename($file, $newName);
    $i++;
  }
}
该函数接受一个参数 $dir,表示要批量重命名的文件所在的目录路径。函数首先使用 glob() 函数来获取指定目录下所有文件的文件路径。然后,函数使用一个循环遍历所有文件,并为每个文件生成新的文件名。新文件名的格式为 $i.jpg,其中 $i 表示递增的数字序号。如果新文件名已经存在,则跳过该文件,不进行重命名操作。
你可以通过以下方式调用该函数:
$dir = '/path/to/files';
renameFiles($dir);
其中,/path/to/files 是要批量重命名文件的目录路径。调用函数后,函数会将该目录下的所有文件重命名,新文件名从 1 开始递增。
相关文章
猜你需要