php - time用法 - 时间戳




PHP脚本在特定时间执行 (6)

有一个简单的方法让一个PHP脚本在一天的特定时间执行一些HTML?

例如,我在我的主页上有一个标题,在某些时候,我希望能够在标题下添加一些东西,在这种情况下是一个iframe。

我知道每个人都提到了cron的工作,但这将如何工作呢? 还有没有其他的选择? 它在所有主机上都不可用



cron和scheredled工作的想法似乎与你实际想要做的事情背道而驰。 如果您只想在某些时间显示某个内容(在这种情况下是iframe),则可以在每个请求期间简单地检查服务器时间,并在给定时间段内选择显示它。

像这样的东西会产生与cron作业相同的效果,更精细,在确定要求的时刻检查时间。

<!-- Your Header here -->

<?php
$hour = date('G'); // 0 .. 23

// Show our iframe between 9am and 5pm
if ($hour >= 9 && $hour <= 17) { ?>
  <iframe .... ></iframe>
<?php } ?>

您可以在条件语句上展开以每天多次显示iframe,或让脚本检查您希望用来管理iframe显示的外部条件。

更新:额外的时间或类型的比较可以通过类似的东西来指定

<?php 
$hour = date('G');
$day  = date('N'); // 1..7 for Monday to Sunday

if (($hour >= 5  && $hour <= 7)  // 5am - 7am
||  ($hour >= 10 && $hour <= 12) // 10am - 12 noon
||  ($hour >= 15 && $hour <= 19) // 3pm - 7pm
||  ($day == 5)                  // Friday
) { ?>
  <iframe...></iframe>
<?php } ?>

使用服务器端cron /任务调度程序作业从头下方周期性地添加/删除iframe的想法要比在每个请求期间有条件地显示它要复杂得多。

即使你有一些特定的任务必须运行,例如定期生成的报告,显示结果的实际工作通常不会落在周期性任务上。 PHP脚本负责显示iframe在请求显示任何新内容时仍然会查询数据库,如果找到,则显示它,而不是周期性的任务修改脚本以包含iframe。


如果你正在Linux上运行,那么你可以有一个cron工作。

如果您在Windows上,则使用任务计划程序。

如果您处于托管环境中,则需要检查是否允许。


如果您无法访问服务器上的cron作业或计划任务,则可以使用在线服务(例如http://pingability.com/)按指定的时间间隔点击脚本。 这并不完美,但是您可以构建某种密钥和代码,以确保脚本在特定时间段内不会运行多次。 可能看起来有点冒险,但我用它在现场系统发送每日电子邮件,它已经工作了一年多了。


您可以将任务安排为cron工作。








time