📄 article_keywords_make.php
字号:
<?php
@ob_start();
@set_time_limit(3600);
require_once(dirname(__FILE__).'/config.php');
CheckPurview('sys_Keyword');
if(empty($dopost))
{
$dopost = '';
}
//分析已存在的关键字(适用于默认的文章模型)
if($dopost=='analyse')
{
echo "正在读取关键字数据库...<br/>\r\n";
flush();
$ws = $wserr = $wsnew = "";
$dsql->SetQuery("Select * from `#@__keywords`");
$dsql->Execute();
while($row = $dsql->GetObject())
{
if($row->sta==1)
{
$ws[$row->keyword] = 1;
}
else
{
$wserr[$row->keyword] = 1;
}
}
echo "完成关键字数据库的载入!<br/>\r\n";
flush();
echo "读取档案数据库,并对禁用的关键字和生字进行处理...<br/>\r\n";
flush();
$dsql->SetQuery("Select id,keywords from `#@__archives`");
$dsql->Execute();
while($row = $dsql->GetObject())
{
$keywords = explode(',',trim($row->keywords));
$nerr = false;
$mykey = '';
if(is_array($keywords))
{
foreach($keywords as $v)
{
$v = trim($v);
if($v=='')
{
continue;
}
if(isset($ws[$v]))
{
$mykey .= $v." ";
}
else if(isset($wsnew[$v]))
{
$mykey .= $v.' ';
$wsnew[$v]++;
}
else if(isset($wserr[$v]))
{
$nerr = true;
}
else
{
$mykey .= $v." ";
$wsnew[$v] = 1;
}
}
}
}
echo "完成档案数据库的处理!<br/>\r\n";
flush();
if(is_array($wsnew))
{
echo "对关键字进行排序...<br/>\r\n";
flush();
arsort($wsnew);
echo "把关键字保存到数据库...<br/>\r\n";
flush();
foreach($wsnew as $k=>$v)
{
if(strlen($k)>20)
{
continue;
}
$dsql->SetQuery("Insert Into `#@__keywords`(keyword,rank,sta,rpurl) Values('".addslashes($k)."','$v','1','')");
$dsql->Execute();
}
echo "完成关键字的导入!<br/>\r\n";
flush();
sleep(1);
}
else
{
echo "没发现任何新的关键字!<br/>\r\n";
flush();
sleep(1);
}
ShowMsg('完成所有操作,现在转到关键字列表页!','article_keywords_main.php');
exit();
}
//自动获取关键字(适用于默认的文章模型)
else if($dopost=='fetch')
{
require_once(DEDEINC."/splitword.class.php");
if(empty($startdd))
{
$startdd = 0;
}
if(empty($pagesize))
{
$pagesize = 20;
}
if(empty($totalnum))
{
$totalnum = 0;
}
//统计记录总数
if($totalnum==0)
{
$row = $dsql->GetOne("Select count(*) as dd From `#@__archives` where channel='1' ");
$totalnum = $row['dd'];
}
//获取记录,并分析关键字
if($totalnum > $startdd+$pagesize)
{
$limitSql = " limit $startdd,$pagesize";
}
else if(($totalnum-$startdd)>0)
{
$limitSql = " limit $startdd,".($totalnum - $startdd);
}
else
{
$limitSql = '';
}
$tjnum = $startdd;
if($limitSql!='')
{
$fquery = "Select arc.id,arc.title,arc.keywords,addon.body From `#@__archives` arc
left join `#@__addonarticle` addon on addon.aid=arc.id where arc.channel='1' $limitSql ";
$dsql->SetQuery($fquery);
$dsql->Execute();
$sp = new SplitWord();
while($row=$dsql->GetObject())
{
if($row->keywords!='')
{
continue;
}
$tjnum++;
$id = $row->id;
$keywords = "";
$titleindexs = explode(' ',trim($sp->GetIndexText($row->title)));
$allindexs = explode(' ',trim($sp->GetIndexText(Html2Text($row->body),200)));
if(is_array($allindexs) && is_array($titleindexs))
{
foreach($titleindexs as $k)
{
if(strlen($keywords)>=30)
{
break;
}
else
{
$keywords .= $k.",";
}
}
foreach($allindexs as $k)
{
if(strlen($keywords)>=30)
{
break;
}
else if(!in_array($k,$titleindexs))
{
$keywords .= $k.",";
}
}
}
$keywords = addslashes($keywords);
if($keywords=='')
{
$keywords = ',';
}
$dsql->ExecuteNoneQuery("update `#@__archives` set keywords='$keywords' where id='$id'");
}
$sp->Clear();
unset($sp);
}//end if limit
//返回提示信息
if($totalnum>0)
{
$tjlen = ceil( ($tjnum/$totalnum) * 100 );
}
else
{
$tjlen=100;
}
$dvlen = $tjlen * 2;
$tjsta = "<div style='width:200;height:15;border:1px solid #898989;text-align:left'><div style='width:$dvlen;height:15;background-color:#829D83'></div></div>";
$tjsta .= "<br/>完成处理文档总数的:$tjlen %,位置:{$startdd},继续执行任务...";
if($tjnum < $totalnum)
{
$nurl = "article_keywords_make.php?dopost=fetch&totalnum=$totalnum&startdd=".($startdd+$pagesize)."&pagesize=$pagesize";
ShowMsg($tjsta,$nurl,0,500);
}
else
{
ShowMsg("完成所有任务!","javascript:;");
}
exit();
}
include DedeInclude('templets/article_keywords_make.htm');
?>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -