Ошибка случается, если динамически строить пути, и внутри пути окажется файл вместо папки.

Пример:

Есть папка A
внутри папки B,C,D и, например, файл f.txt

Используем scandir('A'), чтобы прочитать содержимое корневой папки
получаем массив элементов.
Далее строим путь по этим элементам, например:

foreach (scandir('A') as $item) { // понятно, что нужно исключить . и ..
// далее, например, нужно проверить существование файла во всех папках
    if (file_exists('A/' . $item . '/file.php')) {

Соответственно, на одной из итераций получим:
'A/f.txt/file.php'

И это вызывает ошибку