php как узнать и вывести все файлы в папке

145
30 ноября 2019, 23:20

В заголовке весь вопрос. Есть известная директория site.ru/img/papka1/ в ней есть файлы blabla.jpg и blablajh.jpg как вывести полный адрес на php? Результат должен быть такой:

site.ru/img/papka1/blabla.jpg site.ru/img/papka1/blablajh.jpg

Answer 1

Использую такой код:

 $dir = './img/papka1/';
        if($handle = opendir($dir)){
            while(false !== ($file = readdir($handle))) {
                if($file != "." && $file != ".."){
                echo $dir. '' .$file. '|';
            }
        }

но он выводит вот так: site.ru/wp-admin/img/papka1/blabla.jpg

а нужно так site.ru/img/papka1/blabla.jpg из за этого столько времени потратила.

Answer 2

У меня был такой же вопрос с моим проектом, который был очень очевиден но я его не заметил))) Вот мое решение... (У меня по другому, но может тебе поможет)

<?php
    //Проверка директории (поставь свою директорию!!! (Если у тебя локалка то лучше делать так, по другому будет ошибка))
    $files = scandir('W:\domains\super-fizuka.com\view\docs');
    //Сортировка по названию (А, Б, В...)
    sort($files);
    //Файловая кнопка (Если тебе нужны названия просто пиши 'echo $file')
    foreach($files as $file){
       echo'<a class= link href="view\docs\\'.$file.'" class="product">'.$file.'</a>';
    }
Answer 3

Обратите внимание, что путь в url может отличаться от пути к файлу в файловой системе. Поэтому читать вы должны из директории, а выводить url'ы.

Кроме того, очень рекомендую вам полюбить официальную документацию php. Она переведена на русский и содержит не только описания функций, но отличные примеры, рекомендации по использованию.

Среди прочего, из документации вы можете узнать о существовании функции glob, которая позволит сделать то что вам нужно максимально просто:

<?php
$url = 'site.ru/img/papka1';
$dir = __DIR__ . '/img/papka1'; // убедитесь, что директория указана правильно
foreach (glob($dir . '/*.jpg') as $fileName) {
    echo $url . '/' . basename($fileName), "\n";
}

Уаля!

READ ALSO
Вычисление корня произвольной степени [закрыт]

Вычисление корня произвольной степени [закрыт]

Подскажите, пожалуйста, как извлечь корень произвольной степени из числаПример:

157
Не работает распараллеливание в OpenMP

Не работает распараллеливание в OpenMP

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

135
На сколько плохо такое решение?

На сколько плохо такое решение?

Есть функция сравнивающая два объекта и фиксирующая что именно различается в объектахВ словаре хранятся типы изменений и указатели на метод...

136
Как отключить оптимизацию copy elision?

Как отключить оптимизацию copy elision?

Ситуация заключается в том, что не могу отключить copy elisionВ проекте присутствуют конструкторы с глобальными побочными эффектами

134