在你的操作系統(tǒng),如果是linux的話,添加以下計(jì)劃任務(wù)。
* * * * * /usr/bin/php /webrootpath/e/tasks/backend_cronjob.php。
把代碼傳到 /e/tasks/ 下。
這個(gè)腳本將替代后臺(tái)的定時(shí)刷新,你不用在開著后臺(tái)了,它幫你定時(shí)刷新。
適用場景:全戰(zhàn)靜態(tài)化,需要定時(shí)刷新。(比如首頁有點(diǎn)計(jì)量,排行榜這樣的數(shù)據(jù))
同時(shí)適用于,需要在多臺(tái)服務(wù)器上生成內(nèi)容的情況。
<?php if (substr(php_sapi_name(), 0, 3) !== 'cli') { die("forbidden"); } define('DOC_ROOT', strtr(__FILE__,'','/')); define('ROOT_PATH',dirname(dirname(dirname(DOC_ROOT)))); require(ROOT_PATH.'/e/class/connect.php'); require(ROOT_PATH.'/e/class/functions.php'); require(ROOT_PATH.'/e/data/dbcache/class.php'); //引入欄目緩存文件 require(ROOT_PATH.'/e/class/db_sql.php'); require(ROOT_PATH.'/e/class/t_functions.php'); require(ROOT_PATH.'/e/data/dbcache/class.php'); require(ROOT_PATH.'/e/data/dbcache/MemberLevel.php'); $link = db_connect(); $empire = new mysqlquery(); //定時(shí)刷新任務(wù) function DoTimeRepage(){ global $empire,$dbtbpre; DoAutoUpAndDownInfo();//自動(dòng)上/下線 $dotime=time(); $b=0; $sql=$empire->query("select doing,classid,doid from {$dbtbpre}enewsdo where isopen = 1 and lasttime + dotime * 60 < $dotime"); while($r=$empire->fetch($sql)) { $b=1; if($r['doing']==1)//生成欄目 { $cr=explode(',',$r['classid']); $count=count($cr)-1; for($i=1;$i<$count;$i++) { if(empty($cr[$i])) { continue; } $cr[$i]=(int)$cr[$i]; ReListHtml($cr[$i],1); } } elseif($r['doing']==2)//生成專題 { $cr=explode(',',$r['classid']); $count=count($cr)-1; for($i=1;$i<$count;$i++) { if(empty($cr[$i])) { continue; } $cr[$i]=(int)$cr[$i]; ListHtmlIndex($cr[$i],null,0); } } elseif($r['doing']==3)//生成自定義列表 { $cr=explode(',',$r['classid']); $count=count($cr)-1; for($i=1;$i<$count;$i++) { if(empty($cr[$i])) { continue; } $cr[$i]=(int)$cr[$i]; $ur=$empire->fetch1("select listid,pagetitle,filepath,filetype,totalsql,listsql,maxnum,lencord,listtempid,pagekeywords,pagedescription from {$dbtbpre}enewsuserlist where listid='".$cr[$i]."'"); ReUserlist($ur,""); } } elseif($r['doing']==4)//生成自定義頁面 { $cr=explode(',',$r['classid']); $count=count($cr)-1; for($i=1;$i<$count;$i++) { if(empty($cr[$i])) { continue; } $cr[$i]=(int)$cr[$i]; $ur=$empire->fetch1("select id,path,pagetext,title,pagetitle,pagekeywords,pagedescription,tempid from {$dbtbpre}enewspage where id='".$cr[$i]."'"); ReUserpage($ur['id'],$ur[pagetext],$ur[path],$ur[title],$ur[pagetitle],$ur[pagekeywords],$ur[pagedescription],$ur[tempid]); } } elseif($r['doing']==5)//生成自定義JS { $cr=explode(',',$r['classid']); $count=count($cr)-1; for($i=1;$i<$count;$i++) { if(empty($cr[$i])) { continue; } $cr[$i]=(int)$cr[$i]; $ur=$empire->fetch1("select jsid,jsname,jssql,jstempid,jsfilename from {$dbtbpre}enewsuserjs where jsid='".$cr[$i]."'"); ReUserjs($ur,''); } } elseif($r['doing']==6)//生成標(biāo)題分類頁面 { $cr=explode(',',$r['classid']); $count=count($cr)-1; for($i=1;$i<$count;$i++) { if(empty($cr[$i])) { continue; } $cr[$i]=(int)$cr[$i]; ListHtml($cr[$i],null,5); } } else//生成首頁 { $indextemp=GetIndextemp(); NewsBq(null,$indextemp,1,0); } $empire->query("update {$dbtbpre}enewsdo set lasttime = $dotime where doid= '$r[doid] '"); } if($b) { echo "最后執(zhí)行時(shí)間:".date("Y-m-d H:i:s", $dotime); } } //定時(shí)上線/下線 function DoAutoUpAndDownInfo(){ global $empire,$dbtbpre,$class_r,$emod_r,$public_r; $dotime=time(); $sql=$empire->query("select id,classid,infouptime,infodowntime from {$dbtbpre}enewsinfovote where infouptime>0 or infodowntime>0"); while($r=$empire->fetch($sql)) { if(!$class_r[$r[classid]]['tbname']) { continue; } //上線 if($r['infouptime']&&$r['infouptime']<=$dotime) { $infor=$empire->fetch1("select * from {$dbtbpre}ecms_".$class_r[$r[classid]][tbname]."_check where id='$r[id]' limit 1"); if(!$infor['id']) { continue; } //簽發(fā) if($infor['isqf']) { $qfr=$empire->fetch1("select checktno from {$dbtbpre}enewswfinfo where id='$r[id]' and classid='$r[classid]' limit 1"); if($qfr['checktno']!='100') { continue; } } $empire->query("update {$dbtbpre}ecms_".$class_r[$r[classid]][tbname]."_index set checked=1 where id='$r[id]' limit 1"); $pubid=ReturnInfoPubid($r['classid'],$r['id']); $empire->query("update {$dbtbpre}enewsinfovote set infouptime=0 where pubid='$pubid' limit 1"); //互轉(zhuǎn) MoveCheckInfoData($class_r[$r[classid]][tbname],0,$infor['stb'],"id='$r[id]'"); AddClassInfos($r['classid'],'','+1'); //刷新信息 GetHtml($infor['classid'],$infor['id'],$infor,1); //刷新列表 ReListHtml($r[classid],1); } //下線 if($r['infodowntime']&&$r['infodowntime']<=$dotime) { $mid=$class_r[$r[classid]][modid]; $tbname=$class_r[$r[classid]][tbname]; $pf=$emod_r[$mid]['pagef']; $stf=$emod_r[$mid]['savetxtf']; //主表 $infor=$empire->fetch1("select * from {$dbtbpre}ecms_".$class_r[$r[classid]][tbname]." where id='".$r[id]."' limit 1"); if(!$infor['id']) { continue; } //簽發(fā) if($infor['isqf']) { $qfr=$empire->fetch1("select checktno from {$dbtbpre}enewswfinfo where id='$r[id]' and classid='$r[classid]' limit 1"); if($qfr['checktno']!='100') { continue; } } //分頁字段 if($pf) { if(strstr($emod_r[$mid]['tbdataf'],','.$pf.',')) { $finfor=$empire->fetch1("select ".$pf." from {$dbtbpre}ecms_".$tbname."_data_".$infor[stb]." where id='$r[id]' limit 1"); $infor[$pf]=$finfor[$pf]; } if($stf&&$stf==$pf)//存放文本 { $infor[$pf]=GetTxtFieldText($infor[$pf]); } } DelNewsFile($infor[filename],$infor[newspath],$infor[classid],$infor[$pf],$infor[groupid]); $empire->query("update {$dbtbpre}ecms_".$class_r[$r[classid]][tbname]."_index set checked=0,havehtml=0 where id='$r[id]' limit 1"); $pubid=ReturnInfoPubid($r['classid'],$r['id']); $empire->query("update {$dbtbpre}enewsinfovote set infodowntime=0 where pubid='$pubid' limit 1"); //互轉(zhuǎn) MoveCheckInfoData($class_r[$r[classid]][tbname],1,$infor['stb'],"id='$r[id]'"); AddClassInfos($r['classid'],'','-1'); //刷新列表 ReListHtml($r[classid],1); } } } DoTimeRepage(); db_close(); $empire=null;
版權(quán)聲明: 本站資源均來自互聯(lián)網(wǎng)或會(huì)員發(fā)布,如果侵犯了您的權(quán)益請與我們聯(lián)系,我們將在24小時(shí)內(nèi)刪除!謝謝!
轉(zhuǎn)載請注明: 帝國CMS二次開發(fā)不開后臺(tái)定時(shí)刷新腳本