невозможно прочитать изображения в папке с помощью PHP в JavaScript - PullRequest
0 голосов
/ 22 ноября 2018

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

Я использовал ajax в php файл для загрузки изображений с сервера, вот код внутри php файла:

while($row = $query->fetch_assoc()) {
                            $image_name = 'ads-id-'.$row['id'].'.gif';
                            $image_url = 'http://dev.websiteprojectupdates.com/axul-display/assets/ads/'.$image_name;
                            file_put_contents('assets/ads/'.$image_name, file_get_contents($image_url));
}

после успеха ajax он выполняет этот код для чтения изображений:

var output  =   '<?php $dirname = "assets/ads/"; ?>'
                    output  +=      '<?php $images = glob($dirname."*.gif"); ?>'
                    output  +=      '<?php foreach($images as $image) { ?>'
                    output  +=          '<?php echo '<div class="col-md-12">'; ?>'
                    output  +=              '<?php echo '<div class="card" style="border: 0px;">'; ?>'              
                    output  +=                      '<?php echo '<img class="card-img-top" src="'.$image.'" alt="ads" /><br />'; ?>'            
                    output  +=                  '<?php echo '</div>'; ?>'
                    output  +=          '<?php echo '</div>'; ?>'
                    output  +=      '<?php } ?>';
                $('.sl-ads-holder').append(output); 

1 Ответ

0 голосов
/ 23 ноября 2018

Вы хотите выполнить часть php на стороне php, вы неправильно смешиваете PHP и JavaScript.

Сначала сделайте php, который у вас уже есть, затем вы хотите запустить другой скрипт нана этой странице, после первой.

   while($row = $query->fetch_assoc()) {
      $image_name = 'ads-id-'.$row['id'].'.gif';
      $image_url = 'http://dev.websiteprojectupdates.com/axul-display/assets/ads/'.$image_name;
      file_put_contents('assets/ads/'.$image_name, file_get_contents($image_url));
   }

   $dirname = "assets/ads/";
   $images = glob($dirname."*.gif");

   foreach($images as $image): ?>

   <div class="col-md-12">
      <div class="card" style="border: 0px;">
         <img class="card-img-top" src="<?php echo $image ?>" alt="ads" /><br />
      </div>
   </div>

   <?php endforeach ?>

На вашем Ajax вы получите возвращенные данные в виде HTML, которые вы можете добавить:

success: function(response) {
    $('.sl-ads-holder').append(response);
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...