您当前的位置:首页 > 计算机 > 服务器 > 万维网络 > 帝国cms

帝国cms自带采集增加按原文件名入库的功能(原创)

时间:07-16来源:作者:点击数:

请注意:此教程只是为了增加系统功能,作改动之前请注意文件与数据的备份,另外,此功能稍微特殊,不注意的话,可能新入文件名与系统已设定的命名规则相同,这就可能造成两个数据内容使用了同一个url地址。

需要准备:

  • 修改数据库
  • 修改/e/admin/AddInfoClass.php(改动一处)
  • 修改/e/class/cjfun.php(改动三处)
  • 修改/e/admin/ListInfoClass.php(改动四处)

首先需要在数据库的数据表里面添加相关字段以支持功能,小书童使用copyfilename作为字段名。

在数据库里的phome_enewsinfoclass数据表添加字段copyfilename,位置可变,小书童选择在copyflash字段之前。

另附:在添加字段copyfilename时,提示错误,经排查是同表startdayendday两个字段的数据与设定的数据类型不符,修改任意一个都会报错,反正这两个字段的内容不是很重要,采取先删除startdayendday两个字段,注意是同时删除(用一个sql语句),先删一个再删另一个也会报错,俩字段后续记得添加即可。

在文件/e/admin/AddInfoClass.php(只需改动一个地方)的合适位置,添加代码:

<tr> 
    <td height="23" bgcolor="#FFFFFF">按原文件名入库:</td>
    <td height="23" bgcolor="#FFFFFF"><input name="add[copyfilename]" type="checkbox" id="add[copyfilename]" value="1"<?=$r[copyfilename]==1?' checked':''?>><font color="red"><b>(当采集目标的网页文件名命名方式与本站点相同时请勿勾选!!!)</b></font></td>
</tr>

小书童是在图示位置添加的:

效果如图:

在文件/e/class/cjfun.php有三处修改的地方:两个入库function与一个采集规则导出function需引入的字段集

//采集入库
function CjNewsIn($classid,$id,$checked,$uptime,$userid,$username){
……
}

//全部采集入库
function CjNewsIn_all($classid,$checked,$uptime,$start,$userid,$username){
……
}

里面原内容:(两者一致)

都改成:

//文件命名
if($cr[copyfilename])
{
	$filename = pathinfo(basename($r[oldurl]), PATHINFO_FILENAME);
	} else {
	$filename=ReturnInfoFilename($cr[newsclassid],$id,$r[filenameqz]);
}

在最后一处:

添加了copyfilename。至此,文件/e/class/cjfun.php修改完毕。

在文件/e/admin/ListInfoClass.php(总共四处地方需要修改)

function AddInfoClass($bclassid,$newsclassid,$add,$ztid,$userid,$username){
……
}

在此function添加如图所示内容代码:

还有:

在下面这个function也作如上修改:

function EditInfoClass($bclassid,$newsclassid,$add,$ztid,$userid,$username){
……
}

如图:

至此,所有修改已完成,可以正常功能使用了。

方便获取更多学习、工作、生活信息请关注本站微信公众号城东书院 微信服务号城东书院 微信订阅号
推荐内容
相关内容
栏目更新
栏目热门
本栏推荐