0

假设有一个线程(在论坛上)将只活动 3 天。现在,3天后,我希望这个线程自动关闭。

我可以使用在数据库中创建此线程时的时间参考,如果当前日期+天数大于创建日期,则进行if语句,我将打印出来"<h2>Thread Closed for posting</h2>"

当我考虑其他一些任务时,我想我可以使用对时间的引用并在此执行某些事件。

我对吗?

4

3 回答 3

2

“cron”是在特定时间间隔或时间运行的任务。这意味着它应该用于必须在没有用户交互的情况下完成的任务。例如,备份、自动电子邮件或从远程服务中提取数据。

您想要的更适合检查线程是否关闭的条件。您不仅可以使用标志,还可以检查年龄。这意味着您可以更改旧线程逻辑而无需编辑数据库。

于 2012-07-23T23:45:01.350 回答
2

您可以使用 cron(每分钟运行一次)将线程表上的状态字段设置为关闭,例如。

UPDATE threads
SET status='closed'
WHERE lastPost+INTERVAL 3 DAY<NOW()

然后在PHP中诸如

if($thread['status'] == 'closed')
{
   // Put your HTML here.
}
于 2012-07-23T23:39:11.130 回答
0

您可以制作一个由 cron 执行的 PHP 脚本(阅读如何在命令行中执行 PHP),该脚本在特定日期选择所有帖子,然后将它们设置为关闭。如果您每天运行两次,那么您可以很好地关闭所有这些帖子。

使用 cron 运行 PHP 的良好参考

于 2012-07-23T23:39:53.183 回答