PHP每24小时执行一次代码


PHP Execute Code once every 24 hours

我正在尝试创建一个每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点后消失?

提前谢谢。

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

或在查询中

.. WHERE HOUR(NOW()) BETWEEN 4 AND 5

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

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

当用户试图做需要权限的事情时,系统应该检查是否在该特殊时间段内,然后授予或拒绝权限。

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