Найти строку в пути к каталогу с помощью 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";
впоследствии