我正在尝试浏览一个目录,并将所有文件夹重命名为一个特定的名称,并将原来的文件夹名追加到末尾。它的工作,除了很多次,它添加标题,我想要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);
}
他们得到的名字也是:
发布于 2018-09-02 13:43:56
据我所知,句柄是一个指针,它所指向的“数据”不是固定的,而是可以改变的。因此,我猜想,当您在while循环中对文件夹进行前缀时,重命名的文件夹也会通过you循环通过句柄识别,然后再加上前缀。
使用格罗布可能更好
$folders = glob( $dir . '/*' , GLOB_ONLYDIR);
返回一个子目录数组,然后遍历数组来重命名所有条目。
https://stackoverflow.com/questions/52137249
复制相似问题