批量重命名子目录的所有GIF rename()php

批量重命名子目录的所有GIF rename()php,php,file-rename,Php,File Rename,我有很多,但很多的GIF大约有五千个,在几个文件夹中分类名字,在一个主文件夹中GIF/ 问题 我需要将所有的GIF重命名为一个简单的相关数字。例如,与主目录序列相关的image 24.gif到213.gif 我使用此函数返回整个gifs列表 PHP函数 免责声明 我已经测试过了,但我的行为可能不是你想要的 此函数将递归遍历给定目录中的每个文件和子文件夹。然后,它将按每个文件夹中的连续计数更改任何文件的名称 我已经注释掉了rename函数,以便在您对结果满意之前不重命名内容。一旦取消对rename

我有很多,但很多的GIF大约有五千个,在几个文件夹中分类名字,在一个主文件夹中GIF/

问题

我需要将所有的GIF重命名为一个简单的相关数字。例如,与主目录序列相关的image 24.gif到213.gif

我使用此函数返回整个gifs列表

PHP函数

免责声明

我已经测试过了,但我的行为可能不是你想要的

此函数将递归遍历给定目录中的每个文件和子文件夹。然后,它将按每个文件夹中的连续计数更改任何文件的名称

我已经注释掉了rename函数,以便在您对结果满意之前不重命名内容。一旦取消对rename函数的注释,它将重命名每个文件。因此,如果它不能按你想要的方式工作,就没有回头路了。这可能会对文件夹/文件结构造成严重破坏

你应该在继续之前备份你的文件,以防万一


有什么问题吗?不要打印名称,只需使用重命名?@Dan请查看我的更新答案。Thankshill测试它thank.you我最终以这种方式重命名了文件…但是我如何获得每个li的列表编号?我能够通过您的函数获得解决方案,谢谢
 $dir = '../gifs';

function listFolderFiles($dir)
 {
   echo '<ol>';
    foreach (new DirectoryIterator($dir) as $i => $fileInfo) {
    if (!$fileInfo->isDot()) {
        echo '<li>' . $fileInfo->getFilename();
        if ($fileInfo->isDir()) {
            listFolderFiles($fileInfo->getPathname());
        }
        echo " - >".$i.'</li>';
       }
    }
    echo '</ol>';
  }
  listFolderFiles($dir);
  //rename('picture.gif', '1.gif');
hugs
 animaton (11).gif
 animaton (12).gif
 animaton (13).gif
 animaton (17).gif
 animaton (18).gif
 animaton (19).gif
 animaton (22).gif
 animaton (23).gif
 animaton (26).gif
 animaton (27).gif
 animaton (29).gif
 animaton (31).gif
 animaton (34).gif
 animaton (35).gif
 animaton (4).gif
 animaton (41).gif
 animaton (43).gif
 animaton (46).gif
 animaton (49).gif
 animaton.gif
bored
 animaton (1).gif
 animaton (13).gif
 animaton (17).gif
 animaton (18).gif
 animaton (19).gif
 animaton (20).gif
 animaton (25).gif
 animaton (27).gif
 animaton (29).gif
 animaton (31).gif
 animaton (33).gif
 animaton (35).gif
 animaton (36).gif
 animaton (40).gif
 animaton (41).gif
 animaton (43).gif
 animaton (45).gif
 animaton (49).gif
 animaton (5).gif
 animaton (7).gif
 animaton (9).gif
wink
 animaton (11).gif
 animaton (12).gif
 animaton (21).gif
 animaton (27).gif
 animaton (3).gif
 animaton (35).gif
 animaton (36).gif
 animaton (38).gif
 animaton (39).gif
 animaton (4).gif
 animaton (43).gif
 animaton (8).gif
sleepy
 animaton (11).gif
 animaton (12).gif
 animaton (13).gif
 animaton (14).gif
 animaton (16).gif
 animaton (17).gif
 animaton (19).gif
 animaton (20).gif
 animaton (21).gif
 animaton (22).gif
 animaton (24).gif
 animaton (26).gif
 animaton (27).gif
 animaton (29).gif
 animaton (3).gif
 animaton (32).gif
 animaton (34).gif
 animaton (35).gif
 animaton (36).gif
 animaton (37).gif
 animaton (38).gif
 animaton (39).gif
 animaton (4).gif
 animaton (40).gif
 animaton (41).gif
 animaton (45).gif
 animaton (46).gif
 animaton (49).gif
 animaton (5).gif
 animaton (6).gif
 animaton (9).gif
 animaton.gif
love
 animaton (1).gif
 animaton (11).gif
 animaton (13).gif
 animaton (14).gif
 animaton (17).gif
 animaton (18).gif
 animaton (20).gif
 animaton (21).gif
 animaton (24).gif
 animaton (25).gif
 animaton (27).gif
 animaton (28).gif
 animaton (29).gif
 animaton (38).gif
 animaton (39).gif
 animaton (4).gif
 animaton (40).gif
 animaton (41).gif
 animaton (44).gif
 animaton (48).gif
 animaton (5).gif
 animaton (7).gif
 animaton (9).gif
 animaton.gif
claps
 animaton (1).gif
 animaton (10).gif
 animaton (11).gif
 animaton (12).gif
 animaton (13).gif
 animaton (15).gif
 animaton (16).gif
 animaton (17).gif
 animaton (19).gif
 animaton (20).gif
 animaton (21).gif
 animaton (22).gif
 animaton (23).gif
 animaton (25).gif
 animaton (28).gif
 animaton (3).gif
 animaton (30).gif
 animaton (31).gif
 animaton (34).gif
 animaton (35).gif
 animaton (38).gif
 animaton (39).gif
 animaton (4).gif
 animaton (40).gif
 animaton (41).gif
 animaton (42).gif
 animaton (43).gif
 animaton (44).gif
 animaton (46).gif
 animaton (47).gif
 animaton (49).gif
 animaton (5).gif
 animaton (6).gif
 animaton (7).gif
 animaton (8).gif
scared
 animaton (1).gif
 animaton (10).gif
 animaton (12).gif
 animaton (13).gif
 animaton (15).gif
 animaton (16).gif
 animaton (17).gif
 animaton (18).gif
 animaton (21).gif
 animaton (24).gif
 animaton (33).gif
 animaton (39).gif
 animaton (40).gif
 animaton (46).gif
 animaton (6).gif
$dir = '../gifs';

function listFolderFiles($dir){

  $results = new DirectoryIterator($dir);

  echo '<ul>';

  $count = 1;
  foreach($results as $fileInfo){

      if($fileInfo->isFile()){

        $oldFileName = $fileInfo->getPathname();
        $newFileName = $fileInfo->getPath() . '/' . $count . '.gif';

        //rename($oldFileName, $newFileName); //<-- Uncomment here to actually
        //rename your files.  Only do this when you are sure you are happy
        //with the results.

        echo '<li>' . 'File  Old: ' . $oldFileName . '  New: ' . $newFileName . '</li>';

        $count++;

      }

      if($fileInfo->isDir() && !$fileInfo->isDot()){

        echo '<li>' . 'Folder: ' . $fileInfo->getPathname() . '</li>';
        listFolderFiles($fileInfo->getPathname());

      }

  }

  echo '</ul>';



}


listFolderFiles($dir);