Как я могу прочитать имена файлов из папки и сохранить их в массиве javascript? - PullRequest
0 голосов
/ 21 февраля 2020

Я пытаюсь создать веб-сайт, и все, что мне нужно, это иметь массив в моем javascript файле, в котором есть имена каждого файла в моей папке "images /".

У меня есть все перепробовал. Я снова и снова чистил стек, и ничего не получалось. Я пробовал функции ajax и php, и я пытался использовать MAMP и XAMPP в качестве локального веб-сервера (кстати, на ma c, если это важно). Всякий раз, когда я пытаюсь загрузить изображения и просто записать имя файла в консоль, ничего не происходит. Я понятия не имею, что делать.

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

Здесь Вот еще несколько конкретных c примеров решений, которые я пробовал, которые не сработали:

Попытка 1
index. php:

...
<?php
    $images = array_values(array_diff(scandir($dir), array('..', '.')));
    $imagesJS = json_encode($images);
?>
<script type="text/javascript">
    var images =  "<?= $imagesJS ?>";
</script>
</script src="js/bodyScript"></script>
...

bodyScript. js:

console.log(images); // returns null on attempt

Попытка 2
bodyScript. js:

var folder = "images/";

$.ajax({
    url : folder,
    success: function (data) {
        $(data).find("a").attr("href", function (i, val) {
            if( val.match(/\.(jpe?g|png|gif)$/) ) { 
                images.push(val); // add file name to array (doesn't work)
                console.log(val); // log to console for debugging purposes (also doesn't work)
            } 
        });
    }
});

Попытка 3
bodyScript. js:

$.ajax({
  url : "images/",
  success: function(data){
     $(data).find("td > a").each(function(){
        console.log($(this).attr("href")); // nothing gets logged
     });
  }
});

Спасибо

1 Ответ

0 голосов
/ 21 февраля 2020

псевдокод

JavaScript:

$.ajax({
  url : "http://mysite/getdirectories.php",
  success: function(data){
     console.log(data);
  }
});

PHP (getdirectories. php)

$images = array_values(array_diff(scandir($dir), array('..', '.')));
exit(json_encode($images))
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...