Как отобразить все содержимое из определенной папки, когда я щелкнул имя этой папки?

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

Список файлов:

 <li id = "li1"><a href = ""><?php
 $root = 'images/';
 listFolderFiles($root); ?></a> 
</li>

<?php 
 function listFolderFiles($dir){
 $ffs = scandir($dir);

  unset($ffs[array_search('.', $ffs, true)]);
  unset($ffs[array_search('..', $ffs, true)]);
  if (count($ffs) < 1)
    return;
 echo '<ol>';
 foreach($ffs as $ff){
    echo '<li>'.$ff;
    if (is_dir($dir.'/'.$ff)) listFolderFiles($dir.'/'.$ff);
    echo '</li>';
 }
 echo '</ol>';
 }
 ?>

Список изображений:

<?php
$files = glob("images/*.*");
for ($i=0; $i<count($files); $i++)
{
    $image = $files[$i];
    $supported_file = array(
            'gif',
            'jpg',
            'jpeg',
            'png'
    );

    $ext = strtolower(pathinfo($image, PATHINFO_EXTENSION));
    if (in_array($ext, $supported_file)) {
        echo basename($image)."<br />"; echo $image."<br />";
        echo '<img src = "'.$image .'" alt = "Random image" width = "100px" 
         height = "100px" />';
    } else {
        continue;
    }
}
?>

размещены ли ваши изображения в этой папке, можете ли вы опубликовать результаты двух скриптов, это будет полезно, если вы хотите получить помощь

Ray A 30.07.2018 09:28

да, я не могу опубликовать снимок экрана в комментарии, у меня есть изображения основной папки и вложенные папки fold1, fold2, как это, я хочу отображать изображения из fold1 или 2 ehwn, я нажал на fold1 или 2. пожалуйста, дайте мне знать, что делать?

SivaJyothiG 30.07.2018 09:39

Как это связано с javascript, jquery или ajax ??

brombeer 30.07.2018 09:44

Вы хотите чего-то добиться, ничего страшного. Но что именно не работает с данным кодом?

Nico Haase 30.07.2018 09:48

данный код работает нормально, я хочу связать оба, добавив функцию щелчка с помощью jquery или javascript

SivaJyothiG 30.07.2018 10:50
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
В настоящее время производительность загрузки веб-сайта имеет решающее значение не только для удобства пользователей, но и для ранжирования в...
Безумие обратных вызовов в javascript [JS]
Безумие обратных вызовов в javascript [JS]
Здравствуйте! Юный падаван 🚀. Присоединяйся ко мне, чтобы разобраться в одной из самых запутанных концепций, когда вы начинаете изучать мир...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
JavaScript Вопросы с множественным выбором и ответы
JavaScript Вопросы с множественным выбором и ответы
Если вы ищете платформу, которая предоставляет вам бесплатный тест JavaScript MCQ (Multiple Choice Questions With Answers) для оценки ваших знаний,...
0
5
56
1

Ответы 1

Вам нужно сделать каждую папку кликабельной, например, так:

<a href = "listimages.php?dir=fold1">fold1</a>
<a href = "listimages.php?dir=fold2">fold2</a>
<a href = "listimages.php?dir=fold3">fold3</a>

затем используйте этот код для listimages.php:

<?php
   $files = glob("images/".$_GET['dir']."/*.*");
   for ($i=0; $i<count($files); $i++)
   {
    $image = $files[$i];
    $supported_file = array(
            'gif',
            'jpg',
            'jpeg',
            'png'
     );

     $ext = strtolower(pathinfo($image, PATHINFO_EXTENSION));
     if (in_array($ext, $supported_file)) {
        echo basename($image)."<br />"; echo $image."<br />";
         echo '<img src = "'.$image .'" alt = "Random image" width = "100px" 
         height = "100px" />';
        } else {
            continue;
        }
      }
   ?>

Спасибо, но поскольку я получаю список папок из каталога, я не знаю, сколько папок будет там в будущем, могу ли я сделать его динамическим? означает, что щелкнуть какие-либо папки, загруженные из каталога, и открыть содержимое, относящееся к этой папке. как этого добиться?

SivaJyothiG 30.07.2018 10:54

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

Ray A 30.07.2018 11:01

Это не работает, хотя список папок является динамическим, я хочу щелкнуть каждую папку только с одним «<a href>», а не для каждого имени папки, которое когда-либо отображалось, потому что для каждой основной папки будет n количество подпапок. и хотите отображать изображения после щелчка. Как сделать так, чтобы извлеченные папки были интерактивными и отображали их содержимое?

SivaJyothiG 30.07.2018 11:14

Другие вопросы по теме