Как вывести названия папок из другой папки в PHP?

программирование php

Есть подобие CMS. Хочу сделать выбор шаблонов.
Структура
/tpl
/tpl/DEFAULT
/tpl/TPL1
/tpl/TPL2

Какой функцией я могу вывести названия папок?

Примечание:
$dir = "../tpl/";
$tpl = opendir($dir);
while (false !== ($shab = readdir($tpl)))
{
print_r($shab);
echo "<br>";
}
closedir($tpl);

Выводит:
.
..
DEFAULT
TPL1

Точки? Что это и как с этим бороться?
И почему через foreach нет вывода а получается только через print_r?

Примечание:
$dir = "../tpl/";
$tpl = scandir($dir);
foreach ($tpl as $val)
{
echo $val, "<br>";
}

Сделал через scandir максимально просто и так как хотел. Но все равно не пойму что за точки.

Примечание:
$dir = "../tpl/";
$tpl = scandir($dir);
$tpl = array_reverse($tpl);
$tplreverse = count($tpl); unset($tpl[$tplreverse-1], $tpl[$tplreverse-2]);
$tpl = array_reverse($tpl);
foreach ($tpl as $val)
{
echo $val, "<br>";
}

Спасибо гуглу... Но все равно как-то кривовато выглядит.

Примечание:
$dir = "../tpl/";
$tpl = scandir($dir);
$val = count($tpl);
for ($i=2; $i<$val; $i++)
{
echo $tpl[$i]."<br>";
}

Через for оказалось удобнее... Просто отсчет не с 0 а с 2 и точки пропадают.
Ответы:
readdir scandir
"Точки? Что это и как с этим бороться?"


11 лет назад

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

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

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