@Apexis

Как создать дерево файлов и папок рекурсивно?

Код ниже создает список файлов и папок. Как создать дерево неограниченной вложенности?
public static function getFiles($startDir) 
	{
		$files = [];
		if($handle = opendir($startDir)) {
			while (false !== ($i = readdir($handle))) {
				if (is_dir($startDir . DIRECTORY_SEPARATOR . $i)) {
					if (!in_array($i, ['.', '..', 'purity'])) {
						$files[$i] = Purity::getFiles($startDir . DIRECTORY_SEPARATOR . $i);
					}
				} elseif (!in_array(pathinfo($i, PATHINFO_EXTENSION), ['dat', 'htaccess', 'txt'])) {
					$files[] = $startDir . DIRECTORY_SEPARATOR . $i;
				}
			}
			closedir($handle);
		}
		return $files;
	}
  • Вопрос задан
  • 114 просмотров
Пригласить эксперта
Ответы на вопрос 1
miraage
@miraage
Старый прогер
Учите SPL: RecursiveIteratorIterator + RecursiveDirectoryIterator.

Examples / Brief description: https://stackoverflow.com/a/12236744/790304
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы