디렉토리 내에서 파일 이름을 소문자로 바꾸려고하지만 문제는 하위 디렉토리에서 파일을 검색 할 수 있다는 것입니다.
따라서이 경우 $app_dir
에는 기본 디렉터리이고 변경해야하는 파일은 여러 하위 폴더에 있습니다.
지금까지 내 코드는 다음과 같습니다.
$files = scandir($app_dir);
foreach($files as $key=>$name){
$oldName = $name;
$newName = strtolower($name);
rename("$app_dir/$oldName","$app_dir/$newName");
}
당신의 도움을 주셔서 감사합니다.
모든 파일 이름을 소문자로 지정하려는 경우 다음을 시도 할 수 있습니다.
이 파일 시스템 사용 :
Josh@laptop:~$ find josh
josh
josh/A
josh/B
josh/f1
josh/f2
josh/is
josh/is/awesome
josh/is/awesome/e
josh/is/awesome/t
암호:
<?php
$app_dir = 'josh';
$dir = new RecursiveDirectoryIterator($app_dir, FilesystemIterator::SKIP_DOTS);
$iter = new RecursiveIteratorIterator($dir);
foreach ($iter as $file) {
if ($file != strtolower($file)) {
rename($file, strtolower($file));
}
}
결과 :
Josh@laptop:~$ find josh
josh
josh/a
josh/b
josh/f1
josh/f2
josh/is
josh/is/awesome
josh/is/awesome/e
josh/is/awesome/t
이 코드는 디렉토리의 대문자를 고려하지 않지만 그 연습은 당신에게 달려 있습니다.
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다