Я хочу получить все папки в папке каталога и изменить все вложенные папки в нем. Например, В корневой папке Root я хочу изменить все подпапки A, B, C, D, .. на 1,2,34, ... Могу ли я узнать, как я могу это сделать с помощью php? Спасибо.
<?php $basedir = "/tmp"; //or whatever your "to change" home directory is $contents = scandir($basedir); $count = 1; foreach ($contents as $check) { if (is_dir($basedir . "/" . $check) && $check != "." && $check != "..") { rename($basedir . "/" . $check, $basedir . "/" . $count); $count++; } } ?>
Конечно, вам потребуется правильный CHMOD в зависимости от того, откуда вы запускаете скрипт.
Примерно так:
$count = 0; foreach(new DirectoryIterator('Root') as $fileInfo) { if ($fileInfo->isDir() && !$fileInfo->isDot()) { $count++; rename($fileInfo->getPathName(), $fileInfo->getPath() . "/$count"); } }
DirectoryIterator
rename
RecursiveDirectoryIterator