Справочники, инструменты, документация

PHP: Вывести названия файлов из папки со ссылками на них

Для того, чтобы вывести названия файлов из папки нами понадобится несколько переменных.

Путь до корневой папки на сервере.

$home = $_SERVER['DOCUMENT_ROOT'];

Путь до папки в которой будут находится наши файлы.

$dir = '/pro/__a-data/php/file/do_file_with_content/';

Сделаем автоматический домен, переменная будет возвращать https://google.ru

$domen = $_SERVER["HTTP_X_FORWARDED_PROTO"].'://' .$_SERVER["HTTP_HOST"];

Занесем в массив с помощью функции scandir наши все файлы.

$array = scandir($home . $dir);
  1. Можно вывести все названия в папке в виде массива с помощью print_r
Array
(
[0] => .
[1] => ..
[2] => example_1.dat
[3] => example_2.html
[4] => example_3.html
)
  1. Но если нам нужно работать с этим массивом, то нам придется использовать цикл. Если мы выведем все названия таким образом:
for ($i=0; $i < count($array); $i++)
{
echo $array$i."<br>\n";
}

получим тоже самое:

.
..
example_1.dat
example_2.html
example_3.html
  1. Добавим условие - будем выбирать файлы в папке с разрешением html
if(substr_count( $array[$i], '.html'))
  1. Сделаем ссылку на файл...
if(substr_count( $array[$i], '.html')) { echo '<a href="'. $domen .$dir.$array[$i].'" target="_blank">'. $domen .$dir.$array[$i].'</a>'."<br>\n"; }

Ну и собственно результат:

https://google.ru/example_2.html

https://google.ru/example_3.html