簡體   English   中英

php讀取目錄並重命名文件夾

[英]php read a dir and rename folders

我正在嘗試瀏覽目錄,並將所有文件夾重命名為特定名稱,並將原始文件夾名稱附加到末尾。 它的工作原理除了很多次,它在舊文件夾名稱前面添加了我想要的2、3、4次的標題。 文件夾最初是數字,我想在它們之前添加標題。

碼:

$skip = array(".","..","...");

$dir = '/Volumes/COMICS/MOVED/Marvel Comics/Avengers/Volume 2';
$t = 'Avengers Volume 2';

if ($handle = opendir($dir)) {
    while (false !== ($entry = readdir($handle))) {
      if (!in_array($entry,$skip)) {
        $newName = $t." ".$entry;
        $ol = $dir."/".$entry;
        $nl = $dir."/".$newName;
        rename($ol,$nl);
      }
    }
    closedir($handle);
}

以及它們的名字:

  • /卷/漫畫/電影/漫威漫畫/復仇者/第2卷/復仇者第2卷9
  • /卷/漫畫/電影/漫威漫畫/復仇者聯盟/第2卷/復仇者聯盟第2卷11
  • /卷/漫畫/移動/漫威漫畫/復仇者/第2卷/復仇者第2卷7
  • /卷/漫畫/移動/漫威漫畫/復仇者/第2卷/復仇者第2卷6
  • / Volumes / COMICS / MOVED / Marvel Comics / Avengers / Volume 2 / Avengers Volume 2 1
  • /卷/漫畫/電影/漫威漫畫/復仇者/第2卷/復仇者聯盟2 10
  • /卷/漫畫/電影/漫威漫畫/復仇者/第2卷/復仇者聯盟2 8
  • /卷/漫畫/電影/漫威漫畫/復仇者/第2卷/復仇者第2卷4
  • /卷/漫畫/電影/漫威漫畫/復仇者/第2卷/復仇者聯盟2 3
  • /卷/漫畫/電影/漫威漫畫/復仇者聯盟/第2卷/復仇者聯盟第2卷12
  • /卷/漫畫/電影/漫威漫畫/復仇者/第2卷/復仇者聯盟2 2
  • /卷/漫畫/電影/漫威漫畫/復仇者/第2卷/復仇者第2卷13
  • /卷/漫畫/電影/漫威漫畫/復仇者/第2卷/復仇者聯盟2 5
  • /卷/漫畫/移動/漫威漫畫/復仇者/第2卷/復仇者聯盟2復仇者聯盟2 9
  • /卷/漫畫/電影/漫威漫畫/復仇者/第2卷/復仇者聯盟2復仇者聯盟2 11
  • /卷/漫畫/移動/漫威漫畫/復仇者/卷2 /復仇者聯盟2復仇者聯盟2 7
  • /卷/漫畫/移動/漫威漫畫/復仇者/第2卷/復仇者聯盟2復仇者聯盟2 1
  • /卷/漫畫/移動/漫威漫畫/復仇者/第2卷/復仇者聯盟2復仇者聯盟2 10
  • / Volumes / COMICS / MOVED / Marvel Comics / Avengers / Volume 2 / Avengers Volume 2 Avengers Volume 2 4
  • / Volumes / COMICS / MOVED / Marvel Comics / Avengers / Volume 2 / Avengers Volume 2 Avengers Volume 2 3
  • / Volumes / COMICS / MOVED / Marvel Comics / Avengers / Volume 2 / Avengers Volume 2 Avengers Volume 2 2
  • /卷/漫畫/移動/漫威漫畫/復仇者/第2卷/復仇者聯盟2復仇者聯盟2 13
  • / Volumes / COMICS / MOVED / Marvel Comics / Avengers / Volume 2 / Avengers Volume 2 Avengers Volume 2 Avengers Volume 2 9
  • / Volumes / COMICS / MOVED / Marvel Comics / Avengers / Volume 2 / Avengers Volume 2 Avengers Volume 2 Avengers Volume 2 7
  • / Volumes / COMICS / MOVED / Marvel Comics / Avengers / Volume 2 / Avengers Volume 2 Avengers Volume 2 Avengers Volume 2 3
  • / Volumes / COMICS / MOVED / Marvel Comics / Avengers / Volume 2 / Avengers Volume 2 Avengers Volume 2 Avengers Volume 2 Avengers Volume 2 9
  • /卷/漫畫/移動/漫威漫畫/復仇者/第2卷/復仇者第2卷復仇者聯盟第2卷復仇者聯盟第2卷復仇者聯盟第2卷復仇者聯盟第2卷9

據我了解,句柄是一個指針-它指向的“數據”不是固定的,但可以更改。 所以我猜想,當您在while循環中為文件夾添加前綴時,重命名的文件夾也將通過while循環通過句柄進行標識,並再次加上前綴。

使用glob可能會更好

$folders = glob( $dir . '/*' , GLOB_ONLYDIR);

返回子目錄數組,然后循環遍歷數組以重命名所有條目。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM