3

我正在尝试创建一个每 24 小时执行一次的 PHP 代码。我正在使用的当前 CMS 支持这一点,并且可以正常工作,而我想让它变得更复杂一些。

每天一小时,我想要执行一个代码,这将在这一个小时内为我的用户提供特殊权限。

时间一到,我希望它恢复更改,取消权限。然后,用户需要等到第二天,当时间回来时。

例如:

<?php

if (!defined('UBER') || !UBER)
{
    exit;
}

dbquery("UPDATE catalog_pages SET visible = '1' WHERE id='91'");
$core->Mus('update_catalogue');

?>

此代码每 24 小时执行一次,并且运行良好。它更新目录,将页面设置为对所有人可见。我只被困在如何让它在一个小时结束后消失。

假设时间是凌晨 4 点到凌晨 5 点。

如何使用 PHP 代码使页面在凌晨 5 点后消失?

提前致谢。

4

2 回答 2

3
if (date("G") == '4'){
//give
}elseif (date("G") == '5'){
//takeway
}

或在查询中

.. WHERE HOUR(NOW()) BETWEEN 4 AND 5
于 2012-09-09T05:37:59.623 回答
1

这实际上很容易做到。当用户登录或尝试使用仅在特定时间授予的权限时,运行检查以查看时间是否在这些小时内。如果您的 CMS 允许您拦截事件,请使用以下内容:

onUserAction(){
    if(isSpecialHour()){
        denyPermission()...
    }
    else{
        grantPermission()...
    }
}

当用户尝试做需要许可的事情时,系统应该检查它是否在那个特殊的时间段内,然后授予或拒绝许可。

仅使用 PHP,不可能让脚本以特定的时间间隔运行。PHP 脚本在加载时运行,除非有人在那个确切时间运行脚本(或使用类似 cron 的东西),否则无法完成。当然,您可以使用 cron 或 simmilar 来完成同样的事情。不过,上述方法可能是您最好的选择。

于 2012-09-09T05:42:20.770 回答