我需要制作一个计时器倒计时的页面。我希望计时器是服务器端,这意味着当用户打开页面时,计数器将始终与所有用户同时进行。当计时器达到零时,我需要能够运行另一个脚本,它会执行一些操作以及重置计时器。
我怎么能用php制作这样的东西?
答案 0 :(得分:1)
你可以使用Cron Jobs Ex: 在特定时间安排作业 30 08 10 06 * /home/sendtouser.php 30 - 30分钟 08 - 08 AM 10 - 10日 06 - 6月(6月) * - 一周中的每一天
答案 1 :(得分:1)
从“用户何时打开页面”来看,不应该有页面的自动更新机制?如果这不是您的意思,请查看AJAX(如评论中所述)或更简单的HTML META刷新。或者,使用PHP和header()
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时间戳。
导致罗马的方式有很多种,这只是其中一种简单方法。