是否有一种简单的方法让php脚本在一天中的某些时间执行某些HTML?
例如我在我的主页上有一个标题,在某些时候我希望能够在标题下添加一些东西,在这种情况下是一个iframe。
我知道每个人都提到了cron的工作,但这会如何解决?还有另一种选择吗?它不适用于所有主机
答案 0 :(得分:13)
cron和scheudled jobs的想法似乎与你实际上要做的事情背道而驰。如果您希望在特定时间内显示某些内容(在这种情况下为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的周期性任务。
答案 1 :(得分:6)
如果您在Linux上运行,那么您可以拥有一个cron作业。
如果您使用的是Windows,请使用任务计划程序。
如果您在托管环境中,则需要检查是否允许使用。
答案 2 :(得分:6)
cron
,OS X上为launchd
,Windows平台上为Task Scheduler。
答案 3 :(得分:4)
如果您无法访问服务器上的cron作业或计划任务,则可以使用http://pingability.com/等在线服务按指定的时间间隔点击脚本。它并不完美,但您可以构建某种秘密密钥和代码,以确保脚本在特定时间段内不会多次运行。可能看起来有点hacky,但我已经在现场系统上使用它来发送每日电子邮件,并且它已经运行了一年多了。
答案 4 :(得分:2)
在Unix系统上cron是你最好的选择。
答案 5 :(得分:2)
使用cron作业或类似的东西,请参阅f.i. cron jobs or PHP scheduler
答案 6 :(得分:0)
您可以将任务安排为cron作业。
答案 7 :(得分:0)
您可以在crontab中添加PHP脚本,以便按照定义的时间间隔自动运行脚本。从命令行输入crontab -e
以将条目添加到您的crontab。