繁体   English   中英

PHP服务器端计时器

[英]PHP server side timer

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

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

您可以使用Cron Jobs Ex:为特定时间安排工作30 08 10 06 * /home/sendtouser.php 30 - 30分钟08 - 08 AM 10 - 10日06 - 6月(6月)* - 每天周

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

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

方法,这里也描述:

使用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时间戳。

导致罗马的方式有很多种,这只是其中一种简单方法。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM