编程语言
首页 > 编程语言> > PHP服务器端计时器

PHP服务器端计时器

作者:互联网

我需要制作一个倒计时器的页面.我希望计时器是服务器端,这意味着当用户打开页面时,计数器将始终与所有用户同时进行.当计时器达到零时,我需要能够运行另一个脚本,它会执行一些操作以及重置计时器.

我怎么能用PHP制作这样的东西?

解决方法:

从“用户什么时候打开页面”来看,不应该有页面的自动更新机制?如果这不是您的意思,请查看AJAX(如评论中所述)或更简单的HTML META刷新.或者,使用PHP和标题()

http://de2.php.net/manual/en/function.header.php

方法,这里也描述:

Refresh a page using 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