当前位置:首页 > 文章 > 帝国CMS > 正文内容

帝国cms如何自动更新生成一次内容页?(附实现的解决方法!)

3年前 (2022-10-21)帝国CMS4505

每分钟自动更新生成一次内容页(注:不是栏目或者列表...是文章)

  最近做网站的时候碰到一个问题,每个页面都要更新,因为每个页面是直接获取新浪和淘宝的数据还有国外的一个网站,如果批量更新的话别人会直接封掉IP。用了论坛里面的计划任务功能。

  那边提供了两种解决方案,但是弊端也是显而易见:

  一种是开着后台,电脑要一直开着,另外一种要放首页等页面里面。我觉得这样做都太耗青春了!更苦逼的是无法达到我的目的,更新生成内容页。

  那有没有更好的方法去做呢?

  弄了半天终于找到了解决方案,写一段代码存为PHP文件,间隔一段时间后如果满足这个要求便自动生成内容页面,但是这个页面要持续的有人访问才行,这个好解决,可以找挂机的代刷网站。监控平台都可以实现。比如本人找的免费监控网站就是15分钟过来访问你,刚好可以利用起来,这是免费劳动力。

  我不知道这样执行代码安不安全,如果每天都需要更新网站,那我觉得没有比这个更好的方法了。

  废话就说到这里实现的方法:

  你如果要操作,数据类型更我一样的话,只需要改动$ee2每组的条数,当然86400/$ee2,要整数的哦。

<?php 
//路径一定要高对,不然找不到以下文件是实现不了,还会发生错误的。
require("../../class/connect.php");
require("../../class/db_sql.php");
require("../../class/functions.php");
require '../'.LoadLang("pub/fun.php");
require("../../class/t_functions.php");
require("../../data/dbcache/class.php");
require("../../data/dbcache/MemberLevel.php");
$link=db_connect();
$empire=new mysqlquery();
@set_time_limit(0);//防止时间过期
$num=1;//可以设置get获取参数
echo'相减的时间<br />';
echo $time_x=strtotime('now')-strtotime('today') ;//从凌晨开始算时间到现在为多少秒
$ee1=$empire->gettotal("select count(*) as total from {$dbtbpre}ecms_news"); //统计文章条数
$ee2=96;//每96条为一组
$ee3=fmod($ee1,$ee2);//余数
$ee4=$ee1/$ee2 ;
$ee5=floor($ee4);//商
if($ee3!=0){
$ee5=$ee5+1;//如果除不尽那么再多一组
}
echo '一共'.$ee1.'条'.$ee5.'组这是第'.$num.'组<br />';
$s_n=($num-1)*$ee2;
$s_nx=$ee2;
if($ee5==$num){
$s_nx=$ee2-($ee5*$ee2-$ee1);
}
$sql=$empire->query("select * from {$dbtbpre}ecms_news order by newstime limit $s_n,$s_nx");
$i=0;        //
while($r=$empire->fetch($sql)){//循环获取查询记录
$i1=$i*86400/$ee2;
$i2=($i+1)*86400/$ee2;
if($time_x>$i1&&$time_x<$i2){
$id=$r['id'];
GetHtml($r2['classid'],$id,$r2,0);
}
$i++;
}
db_close();
$empire=null;
?>

  最后把这个文件的链接直接给监控平台去执行就OK了。

  为什么要分组,如果数据是几万条那就得分组,像我这样15分钟一条要搞定2万条数据那得到猴年马月。因此如果是大数据就得分组来操作。

  用这个方法还可以做很多事情,比如定时采集,定时截图什么的。

扫描二维码推送至手机访问。

版权声明:本文由蓝博发布,如需转载请注明出处。

本文链接:https://blueboss.cn/p/378.shtml

“帝国cms如何自动更新生成一次内容页?(附实现的解决方法!)” 的相关文章

帝国CMS模板调用收藏内容的会员信息带头像和不带头像

帝国CMS模板调用收藏内容的会员信息带头像和不带头像

帝国cms模板里面,怎么调用显示收藏该内容的会员信息呢?其实方法也不难,下面帝国CMS模板网就来告诉大家怎么调用: 方法1、(不带头像调用) [e:loop={"select * from [!db.pre!]enewsfava where classid='$navinfor[classid]'...

帝国CMS模板中内容关键字加粗显示加背景颜色等

帝国CMS模板中内容关键字加粗显示加背景颜色等

帝国cms模板内容里面,要关键词加粗,加背景颜色,调整下css即可。 关键字的class在 e/class/functions.php,搜索 function ReplaceKey 或 class=infotextkey 找到后在自己css文件中定义这个(class=infotextkey)css...

帝国CMS列表页输出带序号

帝国CMS列表页输出带序号

1.帝国cms里面用万能标签调用序号是 [!--no.num--] 标签模板:<li><span>[!--no.num--]</span><a href="[!--titleurl--]">[!--title--]</a></li&g...

帝国cms模板调用作者并去掉链接

帝国cms模板调用作者并去掉链接

帝国cms内容页模板作者调用并去掉链接的方法:   帝国cms内容页模板,默认的作者调用方式是[!--writer--],这是标签调用。但会出现mailto邮件链接地址,如何去掉这个链接地址,可以使用代码分割调用(用php分割$navinfor[writer]字段内容再显示)   一、不带作者链接例...

帝国CMS怎么调用自定义分类怎么实现

帝国CMS怎么调用自定义分类怎么实现

帝国CMS调用自定义分类的方法:   具体标签如下: [e:loop={'select id,path,title from [!db.pre!]enewspage where classid=1 order by id',20,24,0}] <?php $pageurl=$public_r...

帝国cms时间转化变为几分钟前几小时前几天前几月前几年前

帝国cms时间转化变为几分钟前几小时前几天前几月前几年前

帝国cms将时间转化为几分钟前,几小时前,几天前,几月前,几年前,使用函数将时间转化为教程。打开 /e/class/userfun.php 文件, 添加以下代码: function user_ago($tm,$rcs = 0) { $cur_tm = time(); $dif = $cur_...