批量导入关键词操作教程
1、准备好要导入的关键词文件,txt文档,格式如下
注意:无论你的程序是gbk还是utf8编码,txt文档务必要用utf8无BOM格式。
织梦dedecms如何批量导入关键词做内链优化

//文件导入式批量添加关键词 elseif($dopost=='fileKeywords') { if(is_uploaded_file($filename)) { $newFileName=date('YmdHis',time()).'.txt'; $newDirPath=$cfg_basedir.'/uploads/keywords'; $newFilePath=$newDirPath.'/'.$newFileName; //目录不存在则创建 if(!file_exists($newDirPath)) { mkdir($newDirPath,0777,true); } move_uploaded_file($filename,$newFilePath); //读取上传的文件 $handle=fopen($newFilePath,'r')orShowMsg("上传文件读取失败",-1); $keyArr=array(); if($handle) { while(!feof($handle)) { $buffer=fgets($handle,4096); $buffer=str_replace(',',',',$buffer); $buffer=str_replace(array("\n"),'',$buffer); $buffer=trim($buffer); if(!empty($buffer)) { $keyArr[]=explode(',',$buffer); } } fclose($handle); @unlink($newFilePath); } //取出数据库所有的关键词,和新添加关键词比较,如果新添加的关键字,数据中存在则过滤 $dsql->SetQuery("SELECT`keyword`FROM`dede_keywords`");//将SQL查询语句格式化 $dsql->Execute();//执行SQL操作 //通过循环输出执行查询中的结果 $dataKeyArr=array(); while($row=$dsql->GetArray()) { $dataKeyArr[]=$row['keyword']; } //拼接mysql语句 $i=0; foreach($keyArras$k=>$v) { $key=trim($v[0]); //把读取txt文档的数据转utf-8编码www.dede58.com $key=($cfg_soft_lang!='utf-8')?iconv("UTF-8","gb2312//IGNORE",$key):$key; //如果数据库中存在该关键词,则跳出本次循环。注意:keyword字段在数据库中长度16字符,需要更更长点 //ALTERTABLE`dede_keywords`CHANGE`keyword``keyword`CHAR(255)NOTNULLDEFAULT'' if(in_array($key,$dataKeyArr)) continue; //拼接mysql语句 $rpurl=trim($v[1],''); $rank=trim($v[2],''); $sql="INSERTINTO`dede_keywords`(keyword,rank,sta,rpurl)VALUES('{$key}',{$rank},1,'{$rpurl}')"; $res=$dsql->ExecuteNoneQuery2($sql); if($res!=-1) $i++; } //如果导入的文件所有的关键词都添加过了,则停止执行; if(empty($i)) { ShowMsg("警告:你提交的关键词,早已经添加过了!!!",-1); die(); } else { ShowMsg("你成功导入{$i}条数据",-1); } } } //清空关键字表里的所有数据 elseif($dopost=='delAll') { $dsql->ExecuteNoneQuery('TRUNCATETABLE`dede_keywords`')?ShowMsg("你已成功清除所有的关键词!!",$ENV_GOBACK_URL):ShowMsg("清除关键词失败",-1); }

3、打开\dede\templets\article_keywords_main.htm找到
</script>
在它的上面加入

//删除选中的 functiondelSel() { varcelements=document.getElementsByClassName('del'); for(i=0;i<celements.length;i++) { if(!celements[i].checked) celements[i].checked=true; else celements[i].checked=false; } } functiondelAll() { if(confirm('你确定要清空所有的关键词,清除以后不可恢复!!')) { location.href="article_keywords_main.php?dopost=delAll"; } }

继续找到
<form name='form1' action="article_keywords_main.php">
在它的上面加入

<formaction="article_keywords_main.php"method="post"enctype="multipart/form-data"> <tdwidth="40%"style="padding-left:10px;"> <strong>关键词维护</strong> <strong>&nbsp;&nbsp;</strong> <strong><inputtype="file"name="filename"></strong> <inputtype="hidden"name="dopost"value="fileKeywords"/> <strong><inputtype="submit"value="提交"></strong> </td> </form>

继续找到
<input type='checkbox' name='isdel_{dede:field.aid/}' class='np' value='1' />
改成
<input type='checkbox' name='isdel_{dede:field.aid/}' class='np del' value='1' />
继续找到

<tdheight="28"colspan="6"> &nbsp; <inputtype="button"name="dl1"class="coolbgnp"value="反选"onClick="selAll()"/> &nbsp; <inputtype="button"name="dl2"class="coolbgnp"value="保存更改"onClick="this.form.submit();"/> </td>

改成

<tdheight="28"colspan="4"> &nbsp; <inputtype="button"name="dl1"class="coolbgnp"value="反选"onClick="selAll()"/> &nbsp; <inputtype="button"name="dl2"class="coolbgnp"value="保存更改"onClick="this.form.submit();"/> </td> <tdheight="28"align="center"> <inputtype="button"value="清空所有关键词"onClick="delAll()"/> &nbsp; <inputtype="button"name="dl1"class="coolbgnp"value="删除全选"onClick="delSel()"/> </td>

完成。

免责声明:本站所有文章和图片均来自用户分享和网络收集,文章和图片版权归原作者及原出处所有,仅供学习与参考,请勿用于商业用途,如果损害了您的权利,请联系网站客服处理。

发表回复