Мне нужна помощь. Я хочу переименовать все файлы в нижний регистр в каталоге рекурсивно. У меня есть код для тестирования, но он переименовывается в эту папку не рекурсивно. Как я могу заставить это сделать это рекурсивно.
Это код, который я использую
<?php $directory="/data"; $files = scandir($directory); foreach($files as $key=>$name){ $oldName = $name; $newName = strtolower($name); rename("$directory/$oldName","$directory/$newName"); } ?>
Для этого вы можете использовать рекурсивныйDirectoryIterator SPL.
<?php $path = realpath('your/path/here'); $di = new RecursiveIteratorIterator( new RecursiveDirectoryIterator($path, FilesystemIterator::SKIP_DOTS), RecursiveIteratorIterator::LEAVES_ONLY ); foreach($di as $name => $fio) { $newname = $fio->getPath() . DIRECTORY_SEPARATOR . strtolower( $fio->getFilename() ); echo $newname, "\r\n"; //rename($name, $newname); - first check the output, then remove the comment... }