Laravel 6 Blade - Показать все изображения в общедоступной папке c? - PullRequest
0 голосов
/ 07 марта 2020

У меня проблемы с поиском способа доступа и отображения содержимого папки, расположенной в 'public / images'. Цель состоит в том, чтобы иметь blade-файл, который действует как галерея и отображает все изображения, добавленные в эту указанную c папку.

Я знаю, как получить доступ к указанным c файлам, используя asset('images/imagename.png'), но мне нужно чтобы получить их все сразу.

Могу ли я просто создать al oop внутри файла blade-сервера или мне нужно создать контроллер / маршрут для него?

Ответы [ 3 ]

1 голос
/ 07 марта 2020

Попробуйте это:

@foreach(File::glob(public_path('images').'/*') as $path)
   <img src="{{ str_replace(public_path(), '', $path) }}">
@endforeach
1 голос
/ 07 марта 2020

Вы можете использовать glob метод File фасада, если знаете каталог. В следующем коде предполагается, что каждый файл в папке public/images/ является изображением.

<div class="container">
    @forelse (File::glob('public/images/*') as $file)
        <img src="{{ $file }}">
    @else
        <p id="no-images">No images in folder</p>
    @endforelse
</div>
0 голосов
/ 07 марта 2020

Как следует из документации , вы можете получить все файлы в указанном каталоге c с помощью:

Storage::files($directory);

Итак, вы можете выполнять итерации следующим образом:

@foreach(Storage::files($directory) as $file)
    <img src="{{ $file }}">
@endforeach
...