PHP自动执行任务代码自动生成静态页面
1.在某个固定的时间执行的PHP代码:
//计划执行时间
if($job=="cron"){
check_method();
//查询数据库的下一个时间是否小于现在的时间
if($maxrecord["deltemptime"]<$nowtime["timestamp"]){
$crondb = array();
//day为0为每日 week周 minute时间断 hour什么时侯开始
$rt["cron"] = array("day"=>"0","week"=>$config["cron_week"],"m"=>$config["cron_minute"],"hour"=>$config["cron_hour"]);
$crondb[] = $rt;
}
foreach ($crondb AS $key => $cron_val){
//设置了允许分钟段
if (!empty($config["cron_minute"])){
$m = explode(" ", $config["cron_minute"]);
$m_now = intval(local_date("i",$nowtime["timestamp"]));
if (!in_array($m_now, $m)) {//不包含此分钟的跳出
continue;
}
}
/*执行任务*/
/*********此处是你写的任务***********************/
$next_time = get_next_time($cron_val["cron"]);
$DB->query("UPDATE `maxrec` SET `deltemptime`={$next_time}");
}
exit;
}
>
2.隔时生成首页的PHP代码:
set_time_limit(0);
$baseCmsUrl = "http://www.kz27.com";//你网站的根网址,结束不要加 /
$dmPageName = "index.php";//动态主页的名称
$stPageName = "index.html";//生成静态主页的名称
$mkTime = 3600;//你希望多长时间更新一次,单位是秒
//下面是执行的代码
$tureStFile = dirname(__FILE__)."/".$stPageName;
$ftime = @filemtime($tureStFile);
if(!file_exists($tureStFile) || ($ftime < time()-$mkTime))
{
$body = file_get_contents($baseCmsUrl."/".$dmPageName);
$fp = fopen($tureStFile, "w");
fwrite($fp, $body);
fclose($fp);
}
>
将上面代码保存为task.php
在经常访问的页面调用:
3.PHP自动执行任务,关掉页面或浏览器也会自动定时执行:
ignore_user_abort(); //即使Client断开(如关掉浏览器),PHP脚本也可以继续执行.
set_time_limit(0); // 执行时间为无限制,php默认的执行时间是30秒,通过set_time_limit(0)可以让程序无限制的执行下去
$interval=60*5; // 每隔5分钟运行
do{
$fp = fopen("test.txt","a");
fwrite($fp,"test");
fclose($fp);
sleep($interval); // 按设置的时间等待5分钟循环执行
}while(true);
>
首先运行该程序,然后关闭该页面,程序仍然运行中,test便会每隔30秒的写入到text3.txt文件。
以上几个PHP自动执行任务的代码,好好掌握将会对PHP程序员们在网站建设过程中有所帮助,如生成HTML静态文件等。
在网站建设过程中,如果想让您的网站有更好的性能,更人性化的功能,那就得学会更多的代码程序技巧。如果您是PHP程序员,学习Javascript、Ajax、DIV+CSS、这些都是很有必要的。因为有些功能PHP可能不好去实现,但是要是使用Javascript、Ajax、DIV+CSS可能就会方便很多多了。
- 默认分类(20)
- J2EE(25)
- Java(56)
- PHP(55)
- SEO(10)
- 网页设计(20)
- 网站建设(37)
- 数据库(7)
- JavaScript(17)
- JQuery(6)
- MySQL(20)
- SQL Server(6)
- Access(1)
- Oracle(6)
- office(6)
- Dreamweaver(4)
- Photoshop(12)
- Flash(9)
- Fireworks(13)
- CSS(14)
- HTML(4)
- .NET(7)
- ASP(2)
- DB2(1)
- Ajax(2)
- Linux(12)
- Struts(7)
- Hibernate(8)
- Spring(2)
- Jsp(22)
- Asp(8)
- C#(3)
- C++(1)
- 网络安全(5)
- 软件工程(7)
- XML(1)
- English(2)
- 计算机等级考试(2)
- 计算机病毒(4)
- 个人日志(76)
- 互联网(15)
- ActionScript(10)
- Android(3)
- 数据结构与算法(1)
- 游戏策略(3)
- 美文翻译(2)
- 编程开发(19)
- 计算机应用(4)
- 计算机(10)
- Unity3d(6)
- 其他(1)
- egret(1)