帝国模板之家为广大用户提供专业、一站式建站服务。

帝国cms教程

帝国cms教程栏目,提供精品建站,仿站,二次开发,安装,标签使用等图文教程,帮助建设和管理好你的帝国cms站点。

当前位置:首页 > 教程 > 帝国cms教程 > 正文

帝国cms不登后台自动定时发布文章

帝国模板之家 2020-08-22 帝国cms教程 评论

帝国cms不登后台自动定时发布文章

很多站长遇到过这样的问题,网站后台采集了大量的文章,如果一次都放出来,是不利于网站优化的。有没有方法可以不登录帝国后台自动定时发布文章呢?下面帝国模板之家编辑给大家分享两种方法。

方法一(配合帝国前台定时执行刷新任务插件):

1.首先我们在后台增加自定义页面(后台栏目->管理自定义页面 >增加自定义页面 )。

<!--code.start-->?php
$sql=$empire->query("select * from {$dbtbpre}ecms_".$class_r[1][tbname]."_index  where checked=0  order by id limit 10"); //随机取信息请用order by rand()
while($r=$empire->fetch($sql)){
$id=$r[id];
$classid=$r[classid];
$infouptime=time()+rand(300,600);  //上线时间 当前时间+300-600是秒自己换算
$pubid=ReturnInfoPubid($classid,$id);
$copyids='';
$num=$empire->gettotal("select count(*) as total from {$dbtbpre}enewsinfovote where pubid='$pubid'");
$nihoam=$empire->query("update {$dbtbpre}ecms_".$class_r[1][tbname]."_check set newstime='$infouptime' where id='$id'");
if($num)    //修改
{
$empire->query("update {$dbtbpre}enewsinfovote set copyids='$copyids',infouptime='$infouptime' where pubid='$pubid' limit 1");
}
else    //增加
{
$intime=$empire->query("insert into {$dbtbpre}enewsinfovote(pubid,id,classid,infouptime,copyids) values ('$pubid','$id','$classid','$infouptime','$copyids');");
}
}
?<!--code.end-->

2.添加管理定时刷新任务(后台->系统->计划任务->管理定时刷新任务)

增加刷新任务:增加定时刷新任务选刷新自定义页面—>选择页面:选择刚才增加的自定义页!执行时间间隔:一般添成10分钟吧!这样就完成了自动审核上线信息了!

方法二(配合服务器任务):

1.我们在e/extend/sc/ 创建一个index.php文件,加入下面代码:

<?php
//使用密码控制
if(empty($_GET['pwd']) || $_GET['pwd'] != '脚本运行密码,请自行修改'){
    die('Fuck you! -www.moyouyouw.cn!');
}
define ( 'EmpireCMSAdmin', '1' );
require ("../class/connect.php");
require ("../class/db_sql.php");
require ("../class/functions.php");
require ("../class/t_functions.php");
require ("../data/dbcache/class.php");
require ("../data/dbcache/MemberLevel.php");
$link = db_connect ();
$empire = new mysqlquery ();
$enews = $_POST ['enews'];
if (empty ( $enews )) {
    $enews = $_GET ['enews'];
}
//参数 $news_table = "news";        //新闻表
$news_num = 1;
//每次审核条数
/***使用时间控制审核的栏目,下面的代码因为栏目太多,每天分三个时段更新*实验证明这个效果是不好的,收录只有早上的那次*
$hours = date ( 'H' );switch($hours){
//频道和列表 
case '8': $where = "bclassid = 0 or classid between 33 and 86";
break;
case '13': $where = "bclassid = 0 or classid between 87 and 139";
break;
case '22': $where = "bclassid = 0 or classid between 140 and 192";
break;
default: $where = "classid='10000'"; 
}*/
$where = '1';
//审核新闻模型全部栏目
$class_list = $empire->query ( "SELECT classid,islast from {$dbtbpre}enewsclass where $where" );
$class = array ();
$pclass = array ();
while ( $r = $empire->fetch ( $class_list ) ) {
    if ($r ['islast'] == '0') {
        array_push ( $pclass, $r ['classid'] );
        // 非终极栏目不可以发不信息,所以不参与信息审核
    } else {
        array_push ( $class, $r ['classid'] );
    }
}
foreach ( $class as $key => $val ) {
    ecmscheck ( $val, $news_table, $news_num );
    // 审核}  // 刷新非终极栏目
    foreach ( $pclass as $key => $value ) {
        echo '上级栏目'.$value.'已经更新<hr/>';
        ReListHtml ( $value, 1 );
    }
    ReIndex();
    //刷新首页  
    /*** * @param  $classid* @param  $table* @param  $num*/
    function ecmscheck($classid, $table, $num) {
        global $empire, $class_r, $dbtbpre;
        $time = time ();
        // 每周一审核的设置为推荐
        $isgood = '0';
        $day = strftime ( "%A" );
        if ($day == 'Monday') {
            $isgood = '1';
        }
        $res = $empire->query ( "select id from {$dbtbpre}ecms_" . $table . "_check where classid =" . $classid . " ORDER BY `truetime` ASC LIMIT {$num}" );
        while ( $r = $empire->fetch ( $res ) ) {
            $data [] = $r ['id'];
        }
        CheckNews_auto ( $classid, $data );
    }
    /*** 审核信息* @param  $classid* @param  $id*/
    function CheckNews_auto($classid, $id) {
        global $empire, $class_r, $dbtbpre, $emod_r, $adddatar;
        $classid = ( int ) $classid;
        $count = count ( $id );
        $time = time();
        //每周一审核的设置为推荐
        $isgood = strftime('%A') == 'Monday'?1:0;
        for ($i = 0; $i < $count; $i ++) {
            $infoid = ( int ) $id [$i];
            $infor = $empire->fetch1 ( "select * from {$dbtbpre}ecms_" . $class_r [$classid] [tbname] . "_check where id='$infoid' limit 1" );
            //$picurl = empty($infor['titlepic'])?'/images/smallpic/'.rand(1,300).'.jpg':$infor['titlepic']; 
            //为了网站能好看点设置一个1-300的随机图片
            $res = $empire->query("update {$dbtbpre}ecms_".$class_r[$classid][tbname]."_check set truetime='$time',newstime='$time',lastdotime='$time',isgood='$isgood' where id='$infoid' limit 1");
            $sql = $empire->query ( "update {$dbtbpre}ecms_" . $class_r [$classid] [tbname] . "_index set checked=1,truetime='$time',newstime='$time',lastdotime='$time' where id='$infoid'" );
            // 未审核表转换
            MoveCheckInfoData ( $class_r [$classid] [tbname], 0, $infor ['stb'], "id='$infoid'" );
            // 更新栏目信息数
            AddClassInfos ( $infor ['classid'], '', '+1' );
            // 刷新信息
            GetHtml ( $infor ['classid'], $infor ['id'], $infor, 0 );
            echo '信息 '.$infor ['id'].' 内容页已经更新<hr/>';
            // 刷新列表
            ReListHtml ( $infor ['classid'], 1 );
            echo '终极栏目 '.$infor ['classid'].' 已经更新<hr/>';
        }
    }
    //刷新首页function ReIndex(){
    $indextemp=GetIndextemp();
    //取得模板
    NewsBq($classid,$indextemp,1,0);
    echo '首页已经刷新';
}

2.在服务器上创建一个计划任务 定时打开这个地址 hide后面加 ?pwd=密码 即可!该方法虽然简单,但是需要有独立服务器才能完成。

以上就是帝国cms不登后台自动定时发布文章的两种方式,更多相关内容请关注帝国模板之家其他文章。

美梦,诞生在一瞬间,这短暂的喜悦,也就像泡沫一样,往往

已有 位小伙伴发表了看法

欢迎 发表评论

  • 匿名发表

关于

帝国cms模板

网页插件

帝国模板之家 | www.moyouyouw.cn

本站所有模板/文章除标明原创外,均来自网络转载,版权归原作者所有,如果有侵犯到您的权益,请联系站长删除,谢谢! 寻找帝国cms模板首选帝国模板之家,用心做站,上线至今广受好评,值得信赖!

  • 交流群1:帝国cms交流群1
  • 交流群2:帝国cms交流群2
在线QQ 给我留言