您现在的位置是:首页 > cms教程 > 帝国CMS教程帝国CMS教程
帝国CMS后台不开能定时刷新的脚本
王封安2023-05-17帝国CMS教程已有人查阅
导读在你的操作系统,如果是Linux的话,添加以下计划任务。 * * * * * /usr/bin/php /webrootpath/e/tasks/backend_cronjob.php。

在你的操作系统,如果是Linux的话,添加以下计划任务。
* * * * * /usr/bin/php /webrootpath/e/tasks/backend_cronjob.php。
把代码传到 /e/tasks/ 下。
这个脚本将替代后台的定时刷新,你不用在开着后台了,它帮你定时刷新。
适用场景:全战静态化,需要定时刷新。(比如首页有点计量,排行榜这样的数据) 同时适用于,需要在多台服务器上生成内容的情况。
<?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();
//定时刷新任务
function DoTimeRepage(){
global $empire,$dbtbpre;
DoAutoUpAndDownInfo();//自动上/下线
$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)//生成标题分类页面
{
$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 "最后执行时间:".date("Y-m-d H:i:s", $dotime);
}
}
//定时上线/下线
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;
}
//签发
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");
//互转
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;
}
//签发
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");
//互转
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;
本文标签:
很赞哦! ()
相关教程
图文教程
帝国CMS灵动标签调用昨天 今天 某天 某天以前 某天以后文章的方法
//调取这两天(包括今天):(修改昨天)--date('d')-1:这两天 、date('d')-2:这三天、以此类推(注意:$beginYesterday、$endYesterday这两个未改动
帝国cms数据表phome_ecms_infotmp_news介绍
新闻系统模型-采集临时表,字段名-字段类型-解释
帝国CMS8.0新增支持PostgreSQL和国产数据库
帝国CMS8.0版在原来版本支持MySQL、MariaDB、其它MySQL内核的数据库基础上,还新增支持postgreSQL、国产华为高斯(openGauss)、国产金仓数据库(kingbase)
帝国cms7.0返回首页带index.html怎么办
帝国CMS模板的 返回首页 会带有 index.html 后缀。通过以下方法修改可去掉index.html。找到e/class/connect.php文件
相关源码
-
(响应式)蓝色智能摄像头安防防盗电子设备免费pbootcms源码下载这是一款针对智能安防行业特点设计的网站模板,采用蓝色系配色方案,体现科技感和安全性。模板包含产品展示、解决方案、技术支持和新闻中心等核心模块,能够全面展示智能安防设备的技术特点和行业应用。查看源码 -
(PC+WAP)门窗门业家居定制铝合金产品pbootcms模板下载基于PbootCMS内核开发的门窗门业企业专用模板,采用响应式设计结构,数据一次录入即可同步适配电脑与手机端浏览。通过简洁大气的视觉呈现,帮助门窗企业快速建立专业线上展示平台,有效传递产品价值与服务优势。查看源码 -
(自适应)WordPress二次元博客主题SakurairoSakurairo主题为二次元内容创作者设计,提供丰富的动漫风格元素和个性化的展示效果。该主题在原有Sakura主题基础上进行了功能增强,支持多种自定义设置,满足动漫爱好者建立个人博客的需求。查看源码 -
(自适应手机端)锁锁芯锁具网站pbootcms模板 智能防盗锁网站源码下载本模板基于PbootCMS系统开发,为智能锁具、防盗锁芯及相关安防产品企业设计。采用响应式布局技术,确保在手机、平板和电脑等不同设备上都能获得良好的浏览体验,数据实时同步更新。查看源码 -
Wordpress博客新闻主题在线商店平台betheme 21.5.6版BeTheme是一款功能丰富的WordPress主题模板,专注于为各行业提供网站建设解决方案。该模板支持WooCommerce电子商务功能,能够快速搭建在线商店平台,同时适用于博客、新闻资讯类网站建设。自2014年发布以来,该模板已经获得大量用户的使用验证。查看源码 -
(自适应)html5导航目录索引工具类网站源码下载本模板基于PbootCMS开发,为站长导航、网址导航类网站设计。采用HTML5+CSS3技术构建,适配PC端和移动端,提供流畅的浏览体验。适用于个人站长、资源导航平台等场景查看源码
| 分享笔记 (共有 篇笔记) |

