0
votes

LARAVEL 6 LAME - Affichez toutes les images dans un dossier public?

J'ai du mal à comprendre un moyen d'atteindre et d'afficher le contenu d'un dossier situé dans "Public / Images". L'objectif est d'avoir un fichier de lame qui agit comme une galerie et affiche toutes les images ajoutées à ce dossier spécifique.

Je sais comment accéder à des fichiers spécifiques à l'aide de Asset ('images / imagename.png') mais j'ai besoin de les obtenir tous immédiatement.

Puis-je simplement créer une boucle à l'intérieur du fichier de lame ou dois-je faire un contrôleur / route pour cela?


0 commentaires

3 Réponses :


1
votes

Vous pouvez utiliser la méthode glob code> du fichier code> code> Façade si vous connaissez le répertoire. Le code suivant assume chaque fichier dans le dossier public / images / code> est une image.

<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>


5 commentaires

Semble qu'il ne puisse lire aucune image là-bas. J'ai essayé de la définir à d'autres dossiers aussi bien sans chance. Les appeler en utilisant l'actif () fonctionne toujours.


Bizarre. Avez-vous une gamme d'images si vous essayez d'exécuter Fichier :: Glob ('public / images / *') dans la console artisanale?


Il semble que cela ne puisse rien trouver sauf si je ne le fais pas @forelse (fichier :: glob (public_path ('/ images / *')) en tant que dossier). Cependant, alors qu'il semble aller chercher toutes les images, cela me donne plutôt une erreur qu'il n'est pas autorisé à charger les ressources locales.


Si vous utilisez Public_Path, vous obtiendrez l'adresse locale au lieu de l'URI.


Étrange. Je n'arrive pas à l'avoir pour trouver les images sinon, j'ai essayé des chemins différents et tout sauf que je retourne vide à moins que je ne fasse la fonction publique_patch.



0
votes

comme le La documentation implique, vous pouvez obtenir tous les fichiers dans un Annuaire avec: xxx

Donc, vous pouvez itérer comme ceci: xxx


0 commentaires

2
votes

Essayez ceci:

@foreach(File::glob(public_path('images').'/*') as $path)
   <img src="{{ str_replace(public_path(), '', $path) }}">
@endforeach


1 commentaires

Ok donc remplaçant 'JS' avec 'images', mon nom de dossier, il semble trouver correctement les images et les afficher.