这可能很简单,我已经研究过尝试使用 AJAX/Javascript 来做到这一点,但找不到一个好的方法来做到这一点。

我有这个代码:

<?php 
$dir = "uploads/*"; 
foreach(glob($dir) as $file) 
{ 
echo '<img src="'.$file.'">'; 
} 
?> 

我希望加载图像时每张图像之间有一定的时间间隔。它们都是 jpeg 并且大小相同。

我想知道是否有办法用 setInterval 和 AJAX 加载它们?或者将其全部保留在 PHP 中?

请您参考如下方法:

我会将您的 PHP 设置为像 RESTful API 端点一样运行。

就像你的问题所暗示的那样,我可以使用 jQuery 的 $.getJSON以及setInterval在您希望的任意时间段后刷新图像。

以下是如何实现此目的的示例(还有很多其他方法):

PHP 文件(get-refresh-imgs.php):

<?php 
$dir = "uploads/*"; 
 
echo json_encode(glob($dir)); 
?> 

JavaScript 文件 (ajax-refresh.js):

$(function(){ 
 
  var intervalInMiliseconds = 10000; 
 
  //comment out if you don't want to load images immediately 
  refreshImgs(); 
 
  setInterval(function(){ 
    refreshImgs(); 
  }, intervalInMiliseconds); 
 
  function refreshImgs(){ 
    var container = $('body'); //use whatever container you wish. I'm using body. 
 
    $.getJSON('get-refresh-imgs.php', function(data){ 
      container.empty(); 
      data.forEach(function(el, indx, ary){ 
        container.append('<img src="' + el + '"/>'); 
      }); 
    }); 
  } 
 
}); 

然后,将其包含在您的 HTML 文件中:

<script type="text/javascript" src="https://code.jquery.com/jquery-2.1.4.min.js"></script> 
<script type="text/javascript" src="ajax-refresh.js"></script> 


评论关闭
IT源码网

微信公众号号:IT虾米 (左侧二维码扫一扫)欢迎添加!