前一段时间,畅言开始投放广告,感觉非常不爽。网站本来啥入不多,再缴费去广告,就没有意思了。
一个客户, 让仿了一个畅言评论,接着这个机会,把我在畅言的评论搬回帝国。
先登录畅言,然后导出评论数据,json格式的。如果数据量大,就分时间段导出。
下面的代码,把这个json数据,读到帝国cms评论表中:
<?php require('../class/connect.php'); require('../class/db_sql.php'); require('../data/dbcache/class.php'); require('../member/class/user.php'); require('../data/dbcache/MemberLevel.php'); require LoadLang('pub/fun.php'); $link=db_connect(); $empire=new mysqlquery(); $myr=file_get_contents('changyan.json'); $myr=json_decode($myr,true); set_time_limit(1000); foreach($myr[comments] as $v){ $r=array(); $r[username]=$v[nickname]; $r[sayip]=$v[ip]; $r[saytime]=strtotime($v[ctime]); $r[id]=$v[topicSourceId]; if(!$r[id])continue; $r[classid]=$empire->gettotal("select classid as total from {$dbtbpre}ecms_news where id={$r[id]} limit 1"); $r[pubid]=ReturnInfoPubid($r[classid],$r[id]); $r[saytext]=addslashes($v[content]); $r[sayip]=$v[ip]; $empire->query("insert into {$dbtbpre}enewspl_1 set ".r2sql($r)); } echo 'ok!'; db_close(); $empire=null; function r2sql($r){ $jhc=''; foreach($r as $key=>$value){if(!is_numeric($key))$jhc.=$key."='".$value."',";} return rtrim($jhc,','); }
中间有过出错,是因为content没有addaslashes,所以导致导入帝国的评论表有重复的数据。
可好,最近完成了帝国批量王的单表操作,删除重复的,正好拿来练手,代码如下:
$empire->query("delete from {$dbtbpre}enewspl_1 where plid<>'$r[plid]' and id='$r[id]' and saytime='$r[saytime]'"); $listtemp='';
好了。去吃炒面了。效果见这里: http://www.zhongyf.com/baojian/meibai/2013-11-22/22439.html