Как можно организовать папку с изображениями в корне вашего сайта так, чтобы изображения из нее отображались в окне браузера?
Для того чтобы отобразить изображения с помощью PHP, вам нужно создать файл PHP, который будет сканировать папку с изображениями и выводить их на страницу. Пример кода для такого файла PHP: ```php <?php $dir = "images/"; // путь к папке с изображениями $files = scandir($dir); // сканируем папку foreach($files as $file) { if(pathinfo($file, PATHINFO_EXTENSION) == "jpg" || pathinfo($file, PATHINFO_EXTENSION) == "png") { echo "<img src='$dir/$file' />"; } } ?> ``` Создайте папку "images" в корне вашего сайта и поместите в нее изображения. Затем создайте файл PHP с вышеприведенным кодом и разместите его также в корне сайта. Для того чтобы организовать папку с изображениями так, чтобы они отображались в браузере, убедитесь что путь к папке правильно указан в вашем коде, а также что файлы изображений имеют правильные расширения (например, .jpg или .png). После этого откройте страницу со своим файлом PHP в браузере и изображения из папки "images" должны быть отображены на странице.
Не понятно причем тут php, но у apache есть режим отображения содержимого каталога как html, в виде списка файлов в табличном виде (имя, размер, дата модификации...), и имя файла будет ссылкой на этот файл, если кликнуть на файлы изображений или любых других файлов, типы которых зарегистрированы в браузере - они будут отображены внутри, иначе будет диалог загрузки файла.
<Directory /var/www/html> Options +Indexes AllowOverride None Require all granted </Directory>
тут +Indexes делает именно это - генерацию html
p.s. если же нужно на php генерировать список файлов по своей логике то добавляешь поддержку php в apache (модуль mod_php или php-fpm) и index.php:
foreach (scandir('.') as $file) { if ($file == '.' || $file == '..') continue; echo '<a href="' . htmlspecialchars($file) . '">' . htmlspecialchars($file) . '</a> - ' . filesize($file) . '<br>'; }
Я хочу вынести ее из публичной папки.Зачем? Есть какая-то особенная необходимость? По логике все файлы сайта должны находиться в одной папке проекта, а файлы видимые из веба в публичной папке проекта. В некоторых случаях, например когда эти файлы не должны отдаваться без какого-то уровня доступа, их выносят выше публичной папки, таким образом закрывая от прямого доступа из веб. Далее доступ осуществляется через пхп, конкретная реализация сильно зависит от задач и имеющегося кода/фреймворка. Простейший вариант - имя файла читается как параметр из урл, далее делается readfile() из этой папки с файлами, предварительно отдаются заголовки, указывающие что это файл изображения. Хотя без понимания "зачем" реализация "как" это тыканье пальцем в небо. Может вам симлинк тупо подойдет...
В идеале - в любое место на диске, которое захочу.Так делать не нужно. Это во первых нарушает безопасность, так как вы даете права на чтение из веба в папку, которая не должна быть доступной левым пользователям, во вторых распыляет проект по машине, что тоже не есть хорошо как минимум в плане организации.