帝国论坛 → 帝国网站管理系统交流区 → 模板/标签/插件共享交流 → 每分钟自动更新生成一次内容页 【本版专题贴子】  
 1/3     1 2 3 ›› ›|
主题:每分钟自动更新生成一次内容页 [加入收藏夹]   

qiuxis
用户头衔:秀才

精华贴   :0
发贴数   :89
经验值   :559
注册时间:2012-12-26
信息 搜索 好友 发送悄悄话 【精益求精-帝国网站管理系统7.5正式版开源发布】   [第 1 楼]
每分钟自动更新生成一次内容页
帝国论坛不知道怎么回事发了好几次都发不了。严重影响个人分享的积极性。

最近做网站的时候碰到一个问题,每个页面都要更新,因为每个页面是直接获取新 和淘  的数据还有国外的一个网站,如果批量更新的话别人会直接封掉IP。用了论坛里面的计划任务功能。
那边提供了两种解决方案,但是弊端也是显而易见:
一种是开着后台,电脑要一直开着,另外一种要放首页等页面里面。我觉得这样做都太耗青春了!更苦 逼的是无法达到我的目的,更新生成内容页。
那有没有更好的方法去做呢?
弄了半天终于找到了解决方案,写一段代码存为PHP文件,间隔一段时间后如果满足这个要求便自动生成内容页面,但是这个页面要持续的有人访问才行,这个好解决,可以找挂 ji的 dai 刷网站。监控平台都可以实现。比如本人找的免 费 监 控 网站就是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;
?>

我自己做的一些教程
1\每分钟自动更新生成一次内容页
http://bbs.phome.net/ShowThread?threadid=305894&forumid=31
2\微博群发插件,支持28个微博平台,支持定时发布
http://bbs.phome.net/ShowThread?threadid=304982&forumid=31
3\帝国短网址插件
http://bbs.phome.net/ShowThread?threadid=304088&forumid=31
4\把 网 站 的 图 片 批 量 放 云 服 务 器
http://www.dwz.cn/bxuRG
5\使用谷歌DOCS定时自动更新你的网站
http://bbs.phome.net/ShowThread?threadid=306593&forumid=31

上传以下附件:
[下载 *.rar](文件大小:1.91 KB,下载次数:85)

[该贴被修改 9 次,最后修改时间 2013-11-14 18:28:59 ]


[论坛教程] [普歌]
2013-11-04 19:41:03 已设置保密 顶部 回复 引用 报告 编辑 删除

qiuxis
用户头衔:秀才

精华贴   :0
发贴数   :89
经验值   :559
注册时间:2012-12-26
信息 搜索 好友 发送悄悄话 【免费开源-EBMA系统:更安全的MYSQL管理和备份系统】   [第 2 楼]


代码打包好了,可以下载。

最后把这个文件的链接直接给监控平台去执行就OK了。
为什么要分组,如果数据是几万条那就得分组,像我这样15分钟一条要搞定2万条数据那得到猴年马月。因此如果是大数据就得分组来操作。

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



[论坛教程] [普歌]
2013-11-04 19:46:53 已设置保密 顶部 回复 引用 报告 编辑 删除

tkf88
用户头衔:探花

精华贴   :0
发贴数   :8922
经验值   :22744
注册时间:2007-05-26
信息 搜索 好友 发送悄悄话 【精益求精-帝国网站管理系统7.5正式版开源发布】   [第 3 楼]

支持




2013-11-04 21:45:58 已设置保密 顶部 回复 引用 报告 编辑 删除

jjfjj
用户头衔:探花

精华贴   :0
发贴数   :3187
经验值   :8782
注册时间:2009-02-12
信息 搜索 好友 发送悄悄话 【免费开源-EBMA系统:更安全的MYSQL管理和备份系统】   [第 4 楼]

谢谢,收藏




2013-11-05 07:45:37 已设置保密 顶部 回复 引用 报告 编辑 删除

贝卡蓝依
用户头衔:举人

精华贴   :0
发贴数   :326
经验值   :1096
注册时间:2006-07-21
信息 搜索 好友 发送悄悄话 【精益求精-帝国网站管理系统7.5正式版开源发布】   [第 5 楼]

很好 支持楼主



专业网站建设。仿站。做模板。页面设计。各种代码问题解决。采集规则。老会员性欲保证。QQ8875-096========
帝国爱好者交流群 48024477
2013-11-05 20:29:23 已设置保密 顶部 回复 引用 报告 编辑 删除

c33630569
用户头衔:秀才

精华贴   :0
发贴数   :113
经验值   :411
注册时间:2009-08-16
信息 搜索 好友 发送悄悄话 【免费开源-EBMA系统:更安全的MYSQL管理和备份系统】   [第 6 楼]

不错,正需要这个自动刷新的东西




2013-11-06 00:29:29 已设置保密 顶部 回复 引用 报告 编辑 删除

feier
用户头衔:探花

精华贴   :0
发贴数   :7048
经验值   :21959
注册时间:2008-07-31
信息 搜索 好友 发送悄悄话 【精益求精-帝国网站管理系统7.5正式版开源发布】   [第 7 楼]

支持一下




2013-11-07 08:11:55 已设置保密 顶部 回复 引用 报告 编辑 删除

jellday
用户头衔:进士

精华贴   :0
发贴数   :923
经验值   :3574
注册时间:2007-03-22
信息 搜索 好友 发送悄悄话 【免费开源-EBMA系统:更安全的MYSQL管理和备份系统】   [第 8 楼]

$i1=$i*86400/$ee2;
$i2=($i+1)*86400/$ee2;
if($time_x>$i1&&$time_x<$i2){

请问楼主这个是啥意思啊?

[该贴被修改 1 次,最后修改时间 2013-11-07 10:56:55 ]



2013-11-07 10:53:25 已设置保密 顶部 回复 引用 报告 编辑 删除

qiuxis
用户头衔:秀才

精华贴   :0
发贴数   :89
经验值   :559
注册时间:2012-12-26
信息 搜索 好友 发送悄悄话 【精益求精-帝国网站管理系统7.5正式版开源发布】   [第 9 楼]

假设你有1001条数据,那么96条一组的话就有11组数据了。因为15分钟一天要刷新生成1条数据,所以1天分成96条来刷新,如果你有钱可以升级为1分钟访问一次一天1440条,因为免费的只能做到间隔15分钟来访问你的网站。
假设这是第一组数据的第2条内容,那这条数据的时段刚好在
$i1=1*86400/96;
$i2=(1+1)*86400/96;
之间,过了15分钟来刚好就访问到这条数据,于是刷新生成页面。这样解释不知道您明白否。

第一条的内容是
$i1=0*86400/96;
$i2=(0+1)*86400/96;
以此类推

我的代码应该很好懂的,不懂加我Q Q 2 8 4 4 7 8 5  78,收 费 解 决



[论坛教程] [普歌]
2013-11-07 12:46:02 已设置保密 顶部 回复 引用 报告 编辑 删除

龙族
用户头衔:进士

精华贴   :0
发贴数   :1264
经验值   :3480
注册时间:2008-02-27
信息 搜索 好友 发送悄悄话 【免费开源-EBMA系统:更安全的MYSQL管理和备份系统】   [第 10 楼]

支持楼主




2013-11-08 07:16:57 已设置保密 顶部 回复 引用 报告 编辑 删除
 1/3     1 2 3 ›› ›|

快速回复
内容

表情
使用EBB代码 使用smile代码 显示签名 自动分析url 自动分析img
     【进入高级模式】   (按 Ctrl+Enter 直接提交)
    顶部  加入收藏夹
关于帝国 | 广告服务 | 联系我们 | 法律声明 | 隐私条款 | 许可协议
Powered by: EBB Version 2.2.1