批量导入关键词操作教程
1、准备好要导入的关键词文件,txt文档,格式如下
注意:无论你的程序是gbk还是utf8编码,txt文档务必要用utf8无BOM格式。
?
2、打开?dedearticle_keywords_main.php?找到
if(empty($keyword))
在它的上面加入
3、打开?dedetempletsarticle_keywords_main.htm?找到
在它的上面加入
1、准备好要导入的关键词文件,txt文档,格式如下
注意:无论你的程序是gbk还是utf8编码,txt文档务必要用utf8无BOM格式。
?
2、打开?dedearticle_keywords_main.php?找到
if(empty($keyword))
在它的上面加入
//文件导入式?批量添加关键词 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')?or?ShowMsg("上传文件读取失败",-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($keyArr?as?$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字符,需要更更长点 //ALTER?TABLE?`dede_keywords`?CHANGE?`keyword`?`keyword`?CHAR(?255?)?NOT?NULL?DEFAULT?'' ????????????if(?in_array(?$key,?$dataKeyArr?)?) ????????????????continue; ????????????//拼接mysql语句 ????????????$rpurl??=???trim($v[1],?'?'); ????????????$rank???=???trim($v[2],?'?'); ????????????$sql?=?"INSERT?INTO?`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);? ????????} ????} } //清空关键字表里的所有数据? else?if($dopost?==?'delAll') { ???$dsql->ExecuteNoneQuery('TRUNCATE?TABLE?`dede_keywords`')???ShowMsg("你已成功清除所有的关键词!!",?$ENV_GOBACK_URL?)?:?ShowMsg("清除关键词失败",-1)?; }
3、打开?dedetempletsarticle_keywords_main.htm?找到
在它的上面加入
//删除选中的 function?delSel() { ??var?celements?=?document.getElementsByClassName('del'); ??for(?i?=?0;?i? 继续找到