[英]PHP: rename all files to lower case in a directory recursively
我需要幫助。 我想以遞歸方式將所有文件重命名為目錄。 我有一個代碼來測試,但它只在該文件夾中重命名而不是遞歸。 如何以遞歸方式完成它。
這是我使用的代碼
<?php
$directory="/data";
$files = scandir($directory);
foreach($files as $key=>$name){
$oldName = $name;
$newName = strtolower($name);
rename("$directory/$oldName","$directory/$newName");
}
?>
您可以使用SPL的RecursiveDirectoryIterator 。
<?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...
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.