在特定时间触发代码

时间:2013-02-22 00:28:58

标签: php events time

是否有可能告诉PHP在给定的日期和时间执行一段代码?例如,Blogger.com允许某人设置将来发布的博客帖子(例如12/12/14 6:00 AM)。

PHP可以做类似的事吗?

(对不起,我甚至不知道这些事件的正确用语是什么,甚至可以搜索它们!:()

5 个答案:

答案 0 :(得分:1)

您可以使用cron作业(或Windows上的预定任务)执行此操作;虽然它们通常用于重复工作。

如果您使用的是数据库,则大多数平台都附带调度程序。

答案 1 :(得分:1)

您可以在数据库中安排自己的操作,并在服务器上使用cronjob或使用cron作业服务来运行您的操作。

https://www.setcronjob.com/

例如,如果您希望将来发布博客,请在将来保存发布日期并设置某种自动发布位。

然后每小时由cronjob运行PHP脚本,此脚本会检查数据库中是否有需要发布的所有博客。

答案 2 :(得分:1)

不可能告诉PHP自己这样做,因为它需要一个永久运行的进程来定期调用你的PHP代码。值得庆幸的是,有几件事情可以解决这个问题:

1)从cron作业调用PHP脚本,然后执行任何必要的工作。如果您无法访问crontab,则可以在用户ping您的网站时定期拨打此电话,但这当然不太可靠。

2)使用at。这与Linux系统上的cron基本相同,但会在确切的时间安排一次。

答案 3 :(得分:1)

对于“在特定时间触发代码”,cron工作。但对于像在特定时间发布文章这样简单的事情,则不需要。您只需在文章中存储发布日期即可。在显示文章列表时,您可以将查询调整为类似WHERE PUBLISH_DATE <= NOW()的内容,并在文章页面上检查文章的发布日期是否已经过去,然后再显示该文章。

答案 4 :(得分:0)

在类Unix系统上,有Cron。你可以manage Cron from PHP

在Windows上,有计划任务 - 您也可以使用PHP to manage scheduled tasks

要小心这一点 - 它有点难以测试,并且您可能最终得到一个削弱您的服务器的计划。