您现在的位置是:首页 > 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;

本文标签:

很赞哦! ()

相关源码

  • (自适应响应式)蓝色外贸英文产品介绍展示网站模板本模板采用手工编写的DIV+CSS架构,代码精简高效。适配手机端浏览,数据实时同步更新。内置SEO优化框架,支持独立设置各页面标题、关键词及描述。开源代码结构清晰,便于二次开发。查看源码
  • (自适应)中英双语配线器材扎带线卡网站pbootcms模板免费下载为线缆管理、电气配线领域打造的响应式网站模板,采用PbootCMS内核开发,可快速搭建企业级产品展示平台,数据实时同步管理。查看源码
  • (PC+WAP)楼承板建筑工程合金钢铁材料pbootcms网站源码下载为楼承板生产商及建筑工程企业设计的响应式网站模板,采用PbootCMS内核开发,同步适配电脑与移动设备浏览。通过模块化结构展示工程案例、产品参数等专业内容,帮助建筑建材企业建立标准化数字展示平台,提升行业专业形象。查看源码
  • (PC+WAP)历史复古古典古籍文章资讯类pbootcms模板下载本模板基于PbootCMS系统开发,为古籍研究、历史文献类网站设计,特别适合展示古典书籍、历史档案等文化内容。采用复古风格设计,同时具备现代化响应式布局,确保在PC和移动设备上都能呈现优雅的阅读体验。查看源码
  • (自适应响应式)高端简繁双语HTML5金融资本咨询单页pbootcms模板采用响应式设计确保在各类手机端设备很好的呈现。该模板专注于金融咨询、资本管理等领域企业形象展示,通过结构化布局突出行业专业度与可信度,后台数据同步管理简化内容维护流程。查看源码
  • (PC+WAP)蓝色玻璃纤维制品环保设备营销型pbootcms模板源码下载这是一款针对玻璃纤维行业特点设计的网站模板,采用蓝色系配色方案,体现工业感和环保理念。模板包含产品中心、应用案例、技术支持和新闻动态等核心模块,能够全面展示玻璃纤维制品的技术参数和应用场景。查看源码
分享笔记 (共有 篇笔记)
验证码: