1、准备好要导入的关键词文件,txt文档,格式如下
注意:无论你的程序是gbk还是utf8编码,txt文档务必要用utf8无BOM格式。
2、打开 \dede\article_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、打开 \dede\templets\article_keywords_main.htm 找到
在它的上面加入
//删除选中的 function delSel() { var celements = document.getElementsByClassname('del'); for( i = 0; i < celements.length; i++ ) { if(!celements[i].checked) celements[i].checked = true; else celements[i].checked = false; } } function delAll () { if( confirm( '你确定要清空所有的关键词,清除以后不可恢复!!' ) ) { location.href="article_keywords_main.PHP?dopost=delAll"; } }继续找到