使用php在特定时间显示对象

时间:2014-03-29 10:34:13

标签: php time show-hide

这可能看起来很简单,但我无法理解它。如何使用php在特定时间仅在一段时间内在网站上显示div?例如。每小时显示对象10分钟。

好的,我有一个对象即ahajsjajshaksjaksjiajsns,当访问者访问该网站时会显示在网站上。但我不希望它一直显示,而是每小时说一次。并在10分钟后从网站上消失。

4 个答案:

答案 0 :(得分:1)

if(date("i") < 10) echo "...";

此代码将从0分钟到第9分钟每小时回显一次...,例如8.00-8.09,9.00-9.09,10.00-10.09,......

PHP日期功能可以为您提供可以针对特定日期进行检查的值。有关详细信息,请参阅the docs

答案 1 :(得分:1)

我在几年内没有对任何网络进行编码,所以请原谅我,如果我生锈了,但是:

你无法在所有服务器端执行此操作。页面将被编译,但除非用户刷新页面,否则相关对象将永远可用。

你想要做的是,使用kekub的例子只有在时间范围内生成以下代码,还包括JavaScript以在时间到来时销毁它:

$time = date("i");

if($time < 10){
    $timeToExpire = 10 - $time;

    echo "<div id="yourObject">I will expire soon!</div>;

    echo"<script type = 'text/javascript'>setTimeout(function() {
         $('#yourObject').fadeOut('fast');
    }, ".$timeToExpire * 10000.");</script>";  // * milliseconds e.g 6 minutes
}

我还没有测试过,但是应该发生的事情是,网页会生成div以及时间到时隐藏它的代码(比如只剩下6分钟就可以显示)。

虽然我个人认为你应该用Javascript完成这一切。

答案 2 :(得分:0)

您可以使用setTimeout为两个div设置时间,并可以在该函数中调用div

的setTimeout(函数(){第2页(mintime)},10000); 的setTimeout(函数(){第1页(mintime)},10000);

答案 3 :(得分:0)

这种功能通常不应该在服务器端完成。无论如何,如果你想用PHP实现这个目标,你可以这样:

while (true) {
    $result = yourfunction;
    if (resultIsGood) {
        break;
    }
    sleep(3);
}

你可以在一个循环中睡觉