Функция получает на вход три параметра - имя директории, margin - начальная глубина (целое число, по умолчанию - 0) и print - печатать (булево, по умолчанию true).
Функция возвращает массив файлов, устроенный следующим образом: в каждой строке массива есть три элемента. Первый - имя файла или директории; второй - глубина файла, третий - true, если файл является папкой, и false в противном случае.
Если параметр print равен true, то в конце функции происходит печать списка файлов с соблюдением глубины: на каждую единицу глубины приходится по 4 пробела. Выводимый текст заключён в тэг <pre>, символ разрыва строки - \n.
Функция работает рекурсивно. Она прочитывает текущую директорию, отбрасывая . и .., и если находит директорию, то запускает себя с параметром глубины на 1 больше, а потом собирает эти данные в свой массив.
|