当前位置:首页 » Emlog教程 » 将多说的json评论数据导入到emlog博客程序的数据库

将多说的json评论数据导入到emlog博客程序的数据库

由于多说将于近期停止服务,所有有部分使用多说的emlog用户想要将在多说导出的json评论数据倒进自己的博客中,使用本脚本可以实现这个功能。详细代码如下,如果你使用的是emlog博客程序,即可以使用这个脚本进行导入。注意,导入后会丢失评论的父子关系。文章的ID是通过 thread_key 参数指定的,如果你没有开启 thread_key 设置,不要使用这个脚本。本脚本会将评论数据添加到指定文章下。且会自动更新对应文章的评论数。
以下为全部代码,将其保存为php文件上传到服务器执行即可。
<?php
error_reporting(0); 
header("Content-type:text/html;charset=utf-8");
date_default_timezone_set('Etc/GMT-8');
?>
<form action="?ok=post" method="get">
<input type="hidden" name="ok" value="post">
	<div style="margin:30px 0px;height:16px;line-height:16px;">
	&nbsp;数据库地址:
		<input id="host" name="host" type="text">一般为localhost
	</div>
	<div style="margin:30px 0px;height:16px;line-height:16px;">
	&nbsp;数据库名:<input id="name" name="name" type="text">填写emlog博客所在的数据库
	</div>
	<div style="margin:30px 0px;height:16px;line-height:16px;">
	&nbsp;数据库账号:<input id="user" name="user" type="text">
	</div>
	<div style="margin:30px 0px;height:16px;line-height:16px;">
	&nbsp;数据库密码:<input id="pass" name="pass" type="text">
	</div>
	<div style="margin:30px 0px;height:16px;line-height:16px;">
	&nbsp;数据库前缀:<input id="prefix" name="prefix" type="text">一定要正确,如 emlog_
	</div>
<input style="border:1px solid #ccc;width:112px;height:30px;line-height:30px;background:#fff;" type="submit" value="确定">确认无误后点击确定即可。
</form>
<?php
if($_GET['ok'] == 'post'){
$host = $_GET['host'] ? $_GET['host'] : '';
$name = $_GET['name'] ? $_GET['name'] : '';
$user = $_GET['user'] ? $_GET['user'] : '';
$pass = $_GET['pass'] ? $_GET['pass'] : '';
$prefix = $_GET['prefix'] ? $_GET['prefix'] : '';
if($host == '' or  $name == '' or $user == '' or $pass == '' or $prefix == ''){
	echo '参数不完整,请填写完整参数<br>';
	exit;
}else{
	$con = mysql_connect($host,$user,$pass); //连接数据库
	if(!$con){die('不能连接数据库服务器:'.mysql_error());}
	mysql_select_db($name,$con);//选择数据库
	mysql_query("set names 'utf8'");
	echo '连接数据库成功<br>';
}
//判断数据表是否存在
$sql="show tables like '".$prefix."comment'";
$result = mysql_query($sql,$con);
if(mysql_num_rows($result)){
	echo '评论数据表找到<br>';
}else{
	echo '<span style="color:#f00;">评论数据表不存在,可能是前缀填写错误</span><br>';
	exit;
}
$sql="show tables like '".$prefix."blog'";
$result = mysql_query($sql,$con);
if(mysql_num_rows($result)){
	echo '文章数据表找到<br>';
}else{
	echo '<span style="color:#f00;">文章数据表不存在,可能是前缀填写错误</span><br>';
	exit;
}
echo '开始写入评论数据<br>';
//唯一需要修改的地方,将在多说导出的json数据全部复制到‘’中间
$json = '{"generator":"duoshuo","version":"0.1","threads":[{"site_id":1176228,"thread_id":12...}';
$unjson = json_decode($json,true);
	$jishu = 0;
	$number = count($unjson['posts']);
	while($jishu < $number){
	$gid = $unjson['posts'][$jishu]['thread_key'] ? $unjson['posts'][$jishu]['thread_key'] : -1;
	$pid = 0;
	$date = mktime(substr($unjson['posts'][$jishu]['created_at'],11,2),substr($unjson['posts'][$jishu]['created_at'],14,2),substr($unjson['posts'][$jishu]['created_at'],17,2),substr($unjson['posts'][$jishu]['created_at'],5,2),substr($unjson['posts'][$jishu]['created_at'],8,2),substr($unjson['posts'][$jishu]['created_at'],0,4));
	if($date == ''){$date = time();}
	$poster = $unjson['posts'][$jishu]['author_name'] ? $unjson['posts'][$jishu]['author_name'] : '匿名';
	$comment = $unjson['posts'][$jishu]['message'] ? $unjson['posts'][$jishu]['message'] : '';
	$mail = $unjson['posts'][$jishu]['author_email'] ? $unjson['posts'][$jishu]['author_email'] : '';
	$url = $unjson['posts'][$jishu]['author_url'] ? $unjson['posts'][$jishu]['author_url'] : '';
	$ip = $unjson['posts'][$jishu]['ip'] ? $unjson['posts'][$jishu]['ip'] : '';
	$hide = 'n';
 
	$sql="INSERT INTO ".$prefix."comment (gid,pid,date,poster ,comment,mail,url,ip,hide) VALUES ({$gid},{$pid},{$date},'{$poster}','{$comment}','{$mail}','{$url}','{$ip}','n')";
	mysql_query($sql,$con);//写入评论
	$sql="UPDATE ".$prefix."blog SET comnum=comnum+1 WHERE gid = {$gid}";
	mysql_query($sql,$con);//更新文章评论数
	//echo $jishu.' 更新成功<br>';
	$jishu++;
	}
echo $jishu.'条评论数据已写入数据库,现在你可以关闭本页面了。<br>';
}?>

本文来源于【御坂网络】,原文地址:www.neurallinker.com/287.misaka

觉得很赞 (1)打赏支持
X
打赏方式:
  • 微信
  • QQ红包
  • 支付宝

使用微信扫一扫
日期:2017年03月23日 星期四   分类:Emlog教程   本文已经被百度收录,点击查看详情
来源:御坂网络
blogger
本页正文内容约3817个文字
版权所有:【舍力博客】 => 【将多说的json评论数据导入到emlog博客程序的数据库】
本文地址:https://www.shuyong.net/927.html
除非注明,文章均为 【舍力博客】 原创,欢迎转载!转载请注明本文地址,谢谢!

留言/评论:◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

填写好QQ号码,任点空白处自动获取

昵称

邮箱

网址

站内搜索

个人资料

舍力

博主:舍力

Emlog交流群

    舍力博客承接Emlog模板定制/仿站、网站功能高仿、新增或修改Emlog等服务,本站提供最新的Emlog企业/CMS/博客模板、Emlog教程及网页脚本编程知识分享!

广告

博客统计

  • 文章数量:977篇
  • 文章评论:2694条
  • 总访问量:2156771次
  • 微语数量:50条
  • 在线人数:2人
  • 本站运行:4年零24天
  • 博主很懒,今天什么都没留下!
Copyright © 2017 舍力博客 版权所有   粤ICP备11021420号
时间那么贵,留给相处不累的人!Sitemap
数据存储阿里云服务器 QQ群:398634813
Powered by emlog / &Author 舍力博客.