파일의 하위 이름이있는 폴더에서 파일을 찾는 방법은 검색 할 파일의 이름이 완전히 지정되지 않았지만 이름의 일부인 경우 (예 : 'hello_world_123.png') 파일을 검색하려고합니다. 나는 파일의 전체 이름을 입력하지 않았지만 하나 또는 일부 단어 만, 예를 들어 'world_'는 입력이지만 코드는 파일의 전체 이름을 검색해야합니다.PHP를 사용하여 폴더에서 재귀 적으로 파일을 찾는 방법은 무엇입니까?
즉, 검색은 파일 탐색기 또는 파일 관리자에서 운영 체제 검색과 유사하게 작동합니다.
내 코드는 아래와 같지만 if 조건의 파일 이름과 일치해야합니다.
$file_name_ = 'recursive-1.php';
$dir = new RecursiveDirectoryIterator($folder_path, RecursiveDirectoryIterator::SKIP_DOTS);
$it = new RecursiveIteratorIterator($dir);
foreach($it as $file) {
$file_info = pathinfo($file);
$patt = '/^(\w+)\.+('.$file_name_.')\.+(\w+)*$/';
$result = preg_match($patt,strtolower($file_info['basename']),$match);
if ($result) {
echo 'File found';
} else {
echo 'File not found';
}
}
문제 2 :'recusive-1.php'는'find-recursive-1-file.php'의 부분 문자열이 아닙니다. 파일 이름과 "일치하는"규칙을 더 잘 설명해야합니다. –
'recursive-1.php'@CasimiretHippolyte – SCC
\ w에 대시 문자가 포함되어 있지 않습니다. 그리고 존재 여부 만 확인하려면 strpos 함수를 사용하십시오. –