PHP服务器端计时器
作者:互联网
我需要制作一个倒计时器的页面.我希望计时器是服务器端,这意味着当用户打开页面时,计数器将始终与所有用户同时进行.当计时器达到零时,我需要能够运行另一个脚本,它会执行一些操作以及重置计时器.
我怎么能用PHP制作这样的东西?
解决方法:
从“用户什么时候打开页面”来看,不应该有页面的自动更新机制?如果这不是您的意思,请查看AJAX(如评论中所述)或更简单的HTML META刷新.或者,使用PHP和标题()
http://de2.php.net/manual/en/function.header.php
方法,这里也描述:
对于计数器本身,您需要保存结束日期(例如数据库或文件),然后将当前时间戳与保存的值进行比较.
假设脚本文件夹中有一个包含unix时间戳的文件,您可以执行以下操作:
<?php
$timer = 60*5; // seconds
$timestamp_file = 'end_timestamp.txt';
if(!file_exists($timestamp_file))
{
file_put_contents($timestamp_file, time()+$timer);
}
$end_timestamp = file_get_contents($timestamp_file);
$current_timestamp = time();
$difference = $end_timestamp - $current_timestamp;
if($difference <= 0)
{
echo 'time is up, BOOOOOOM';
// execute your function here
// reset timer by writing new timestamp into file
file_put_contents($timestamp_file, time()+$timer);
}
else
{
echo $difference.'s left...';
}
?>
您可以使用http://www.unixtimestamp.com/index.php熟悉Unix时间戳.
导致罗马的方式有很多种,这只是其中一种简单方法.
标签:php,timer,server-side 来源: https://codeday.me/bug/20191002/1843113.html