Как организовать вывод дерева (количества) каталогов PHP?

php

Имеем код:

<?php
header('Content-Type: text/html; charset=utf-8');
$sub = ($_GET['dir']);
$path = "/media/files/D/";
$path= iconv('UTF-8','cp1251',$path);
$path = $path . "$sub";
$dh = opendir($path);
$i=1;
while (($file = readdir($dh)) !== false) {
if($file != "." && $file != "..") {
if (substr($file, -4, -3) =="."){
echo "$i. $file <br />";
}else{
echo "$i. <a href='?dir=$sub/$file'>$file</a><br />";
}
$i++;
}
}
closedir($dh);
?>



Во-первых, я не могу его подружить с русскими именами папок.
Он попросту не заходит в них и отображает все дерево файлов до .../D
С отображением папок с русскими именами все в полном порядке.
Вот, что видим:
http://5.firepic.org/5/images/2014-03/17/mdh798skmas2.jpg

Во-вторых, он выводит просто корневые каталоги, а мне нужно видеть еще и подкаталоги первого уровня, либо их количество.

Как это реализовать?
Заранее огромное, человеческое спасибо!
Ответы:
>>>  if (substr($file, -4, -3) =="."){
вот это не совсем понятно
ищите примеры по ссылке


11 лет назад

RPI.su - самая большая русскоязычная база вопросов и ответов. Наш проект был реализован как продолжение популярного сервиса otvety.google.ru, который был закрыт и удален 30 апреля 2015 года. Мы решили воскресить полезный сервис Ответы Гугл, чтобы любой человек смог публично узнать ответ на свой вопрос у интернет сообщества.

Все вопросы, добавленные на сайт ответов Google, мы скопировали и сохранили здесь. Имена старых пользователей также отображены в том виде, в котором они существовали ранее. Только нужно заново пройти регистрацию, чтобы иметь возможность задавать вопросы, или отвечать другим.

Чтобы связаться с нами по любому вопросу О САЙТЕ (реклама, сотрудничество, отзыв о сервисе), пишите на почту [email protected]. Только все общие вопросы размещайте на сайте, на них ответ по почте не предоставляется.