Как найти файл в папках с дополнительным именем файла означает, что файл, который нужно выполнить поиск, не полностью назван, но он является частью имени, например, я хочу выполнить поиск файла, а именно: «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. –