重症肌无力病友之家电脑乐园 → 帝国cms7.0定时采集

发表一个新主题 回复帖子您是本帖第 1105 个阅读者  浏览上一篇主题 刷新本主题 浏览下一篇主题
 主题帝国cms7.0定时采集 适合打印机打印的版本  通过电子邮件发送此页面  添加加到IE收藏夹  报告本帖 
海蓝港湾
 


门派:全身派

经验值:681012

社区币:12847

发贴数:5978

注册:2005-01-12

体力值:3450

状态:离线

查看海蓝港湾的个人资料 发送短讯息给海蓝港湾 把海蓝港湾加入好友 搜索海蓝港湾发表过的所有主题 搜索海蓝港湾回复过的所有主题 发送电邮给海蓝港湾 访问海蓝港湾的主页 复制这个帖子 引用回复这个帖子 断章取义 回复这个帖子 No.1 

如何利用计划任务实现定时采集呢?
1.修改task.php文件
找到这句: $file='../tasks/'.$r['filename'];  共有两处,请注释掉,并在随后增加代码:


$chuan=explode("?",$r['filename']);
    $file=$chuan[0];

if(count($chuan)==2){
$myPost=explode("&",$chuan[1]);
foreach($myPost as $p){
        if(strpos($p,"=")>0){
        $temp=explode("=",$p);
        $_POST[$temp[0]]=$temp[1];
        }
}
}

// 这样修改后,计划任务里要执行的文件,就不限定在/e/task 目录下了,比如要执行/ab/c/test.php ,可以这样填写../../ab/c/test.php;默认的文件目录为/e/admin

——————————

转播到腾讯微博 发表时间:2014-09-28 11:09:32  IP:已记录
海蓝港湾
 


门派:全身派

经验值:681012

社区币:12847

发贴数:5978

注册:2005-01-12

体力值:3450

状态:离线

查看海蓝港湾的个人资料 发送短讯息给海蓝港湾 把海蓝港湾加入好友 搜索海蓝港湾发表过的所有主题 搜索海蓝港湾回复过的所有主题发送电邮给海蓝港湾 访问海蓝港湾的主页 复制这个帖子 引用回复这个帖子 断章取义 回复这个帖子 No.1 

更重要的是,执行文件名可以传递参数了。

2.在/e/admin新建一个文件,比如名字为hlCj.php,把文件docj.php里的内容复制过来,修改为:
<?php

define('EmpireCMSAdmin','1');
$link=db_connect();
$empire=new mysqlquery();

//验证用户
$lur=is_login();
$logininid=$lur['userid'];
$loginin=$lur['username'];
$loginrnd=$lur['rnd'];
$loginlevel=$lur['groupid'];
$loginadminstyleid=$lur['adminstyleid'];

//验证权限
CheckLevel($logininid,$loginin,$classid,"cj");
$add=$_POST['classid[]'];

$classid=explode(',',$add);

$count=count($classid);
if(!$count)
{  ;
        printerror("NotChangeCjid","history.go(-1)");
}
esetcookie("recjnum",$count,0,1);
$url="ecmscj.php?enews=CjUrl";
echo"<center>采集节点的总个数为:<font color=red>$count</font>个</center><br>";
for($i=0;$i<$count;$i++)
{
        $trueurl=$url."&from=$_GET[from]&classid=".$classid[$i];
        echo"<iframe frameborder=0 height=35 name='class".$classid[$i]."' scrolling=no
            src=\"".$trueurl."\"
            width=\"100%\"></iframe><br>";
}
db_close();
$empire=null;
?>
<iframe frameborder=0 height=35 name="checkrecj" scrolling=no
            src="CheckReCj.php?first=1&from=<?=$add[form]?>"
            width="100%"></iframe>


——————————

转播到腾讯微博 发表时间:2014-09-28 11:10:18  IP:已记录
海蓝港湾
 


门派:全身派

经验值:681012

社区币:12847

发贴数:5978

注册:2005-01-12

体力值:3450

状态:离线

查看海蓝港湾的个人资料 发送短讯息给海蓝港湾 把海蓝港湾加入好友 搜索海蓝港湾发表过的所有主题 搜索海蓝港湾回复过的所有主题发送电邮给海蓝港湾 访问海蓝港湾的主页 复制这个帖子 引用回复这个帖子 断章取义 回复这个帖子 No.1 

3.新建一个计划任务,执行文件名可以这样填写:

hlDoCj.php?enews=CjUrl&classid[]=1,2,3,4,5,6

这样就可以定时刷新采集节点1,2,3,4,5,6了。

——————————

转播到腾讯微博 发表时间:2014-09-28 11:11:28  IP:已记录
海蓝港湾
 


门派:全身派

经验值:681012

社区币:12847

发贴数:5978

注册:2005-01-12

体力值:3450

状态:离线

查看海蓝港湾的个人资料 发送短讯息给海蓝港湾 把海蓝港湾加入好友 搜索海蓝港湾发表过的所有主题 搜索海蓝港湾回复过的所有主题发送电邮给海蓝港湾 访问海蓝港湾的主页 复制这个帖子 引用回复这个帖子 断章取义 回复这个帖子 No.1 

一些笔记:

1. 生成页面

http://www.12618.net/e/admin/ReHtml/DoRehtml.php?from=ReHtml%2FChangeData.php&tbname[]=news&classid=0&retype=1&startid=0&endid=0&havehtml=0

http://www.fenshixian.cn/e/admin/ReHtml/DoRehtml.php?from=ReHtml%2FChangeData.php&tbname[]=news&classid=0&retype=1&startid=0&endid=0&havehtml=0

——————————

转播到腾讯微博 发表时间:2014-10-01 11:31:30  IP:已记录
本主题共有 1 页 [ 1 ] 收藏帖子 | 取消收藏 | 返回页首 

Powered by BBSxp /Licence © 1998-2005
Script Execution Time:3000ms
晋ICP备07500169号-1