假设有一个线程(在论坛上)将只活动 3 天。现在,3天后,我希望这个线程自动关闭。
我可以使用在数据库中创建此线程时的时间参考,如果当前日期+天数大于创建日期,则进行if语句,我将打印出来"<h2>Thread Closed for posting</h2>"
当我考虑其他一些任务时,我想我可以使用对时间的引用并在此执行某些事件。
我对吗?
“cron”是在特定时间间隔或时间运行的任务。这意味着它应该用于必须在没有用户交互的情况下完成的任务。例如,备份、自动电子邮件或从远程服务中提取数据。
您想要的更适合检查线程是否关闭的条件。您不仅可以使用标志,还可以检查年龄。这意味着您可以更改旧线程逻辑而无需编辑数据库。
您可以使用 cron(每分钟运行一次)将线程表上的状态字段设置为关闭,例如。
UPDATE threads
SET status='closed'
WHERE lastPost+INTERVAL 3 DAY<NOW()
然后在PHP中诸如
if($thread['status'] == 'closed')
{
// Put your HTML here.
}
您可以制作一个由 cron 执行的 PHP 脚本(阅读如何在命令行中执行 PHP),该脚本在特定日期选择所有帖子,然后将它们设置为关闭。如果您每天运行两次,那么您可以很好地关闭所有这些帖子。