无法使用javascript中的php读取文件夹内的图像

时间:2018-11-22 03:15:49

标签: javascript php ajax

我有一个文件夹,每隔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 :(得分:0)

您想在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);
}