Найти строку в пути к каталогу с помощью RecursiveDirectoryIterator

Я ищу способ протестировать часть выходных данных объекта RecursiveDirectoryIterator. Я знаю, как определить папку, но я новичок в php и не знаком с тем, как посмотреть содержимое пути к объекту папки... Возможно ли это?

У меня есть следующее:

foreach($files as $object){
    $indent = str_repeat('   ', $files->getDepth());
    if($object->isDir()){
        //I know this is wrong... here is where I would want to find the string:
        if($object contains 'mystring')){
            echo "%%%-------found the string!\n";
        }else{
            echo $indent, "|| dir: $object\n";
        }   
    }else{
        echo $indent, "-- $object\n";
    }   
}   

1 ответ

Решение

Заменить линию

if($object contains 'mystring')){

с:

if(strpos($object->getPathname(), 'mystring') === false){

это будет искать полный путь объекта для строки 'mystring' и возвращать логическое false, если 'mystring' не является частью пути

Кстати, конкатенация строк в php с точкой, а не запятой, так что вы можете сделать echo $indent."-- $object\n"; впоследствии

Другие вопросы по тегам