NullByte
@NullByte
Bad gateway

Почему скрипт определяет директорию как файл (код в описании)?

Не получается вывести список файлов и директорий с помощью рекурсии. Скрипт вместо того чтобы продвинуться по дереву вниз и вывести список всех файлов внутри рабочей директории, останавливается на том, что одну из папок содержащую много поддиректорий и файлов он определяет как сам файл. Дальше он "копать" не хочет. С чем это связано, комрады? Скрипт пишу в обучающих целях, чтобы понять принцип работы рекурсии и управления файлами))
Вот сам этот просто скрипт:

<?php

$dir = getcwd();
viewpath($dir);

function viewpath($directory) {
	$dirhub = opendir($directory);
	while (($file = readdir($dirhub)) !== false) {
		if ($file =='.' || $file =='..') continue;
		if (is_dir($file) == true) {
				echo "Директория: ".$file."</br>";
				viewpath($file);
			}
		else echo "Файл: ".$file."</br>";
	}
}

?>


Вывод скрипта такой (dir2 это директория внутри dir1 и содержит прочую дребедень):
Каталог: dir1
Файл: dir2
Файл: web.php
Файл: viewpath.php
Файл: index.html
Файл: test.php
  • Вопрос задан
  • 135 просмотров
Решения вопроса 1
<?php

$dir = getcwd();
viewpath($dir);

function viewpath($directory) {
	$dirhub = opendir($directory);
	while (($file = readdir($dirhub)) !== false) {
		if ($file =='.' || $file =='..') continue;
		if (is_dir($directory . '/' . $file)) {
				echo "Директория: " . $file . "<br />";
				viewpath($directory . '/' . $file);
			}
		else echo "Файл: ".$file."<br />";
	}
}

?>
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

Похожие вопросы