如何解决PHP中的sleep函数
我有一个php页面,我需要在其中显示数据库中的图像,等待几秒钟,这又一次来自数据库并分别显示下一个图像。
我尝试使用sleep()
函数,但是它运行了整秒钟,然后一次显示所有图像。
示例:
image1 3秒
image2 2秒
所以它首先需要显示image1等待3秒,然后显示image2 2秒,依此类推
但现在它运行了5秒钟,同时显示了iamge1和image2
我的代码:
<div class="box">
<?
$select= "select * from filemanager WHERE day='$dayofweek' and ('$curr_time'>=fromTime and '$curr_time'<=toTime)";
echo $select;
$res1 = mysqli_query($con,$select);
$num = mysqli_num_rows($res1);
echo $num;
while ($data1 = $res1->fetch_assoc())
{
$file_name=$data1['fileName'];
$path='/uploads/mediaFile/'.$file_name;
$sec=$data1['seconds'];
echo $sec;
?>
<img src="<?echo $path?>" alt="" />
<?
sleep($sec);
}
?>
</div>
请咨询。
谢谢
解决方法
您想暂停php脚本。 php脚本在服务器上运行。 暂停服务器是一个非常糟糕的想法。 :-)
您需要一台能够满足尽可能多请求的快速服务器。因此,忘记计划,让我们制定一个新计划。
您有一个提供图片的服务器。您有一个客户希望这些图片每秒钟旋转一次。在服务器端,您需要一个脚本(用php编写),该脚本使用特定图片的编号进行调用。该脚本将数据提供给客户端。
在客户端,您有几种可能性:
(a)在客户端,您需要一个现在启动的javascript,然后对服务器脚本进行AJAX调用。它将返回的图片添加到页面,然后再次等待一段时间。
(b)您运行的javascript会立即重新启动客户端,然后累加一个计数器,该计数器告诉服务器脚本下一张图片。
我个人更喜欢(a),但这只是我个人的选择。
,您可以尝试使用以下方法(JS):
var img = 1;
function request() {
var xhr = new XMLHttpRequest();
xhr.open('POST','fetch.php');
xhr.onload = function() {
if (xhr.status != 200) {
// Something went wrong
} else {
var res = xhr.response;
// res = fetched image
}
};
xhr.send('img=' + img);
img += 1;
}
setInterval(request,10000);
关于 setTimeout 和 setInterval :https://javascript.info/settimeout-setinterval
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。