上次回了帖子就很少来了,这次发给大家算了。
注意是1.5啊!
原作者是
moufer's blog
我自己转换的时候,修改了一处,就是关于帖子的{$description},原作者的转换可能会把整个文章内容都加到{$description}里面,大家自己修改下吧
下面贴的是源代码,我没有改动过
“作者给我的说明”
本程序没有自动创建数据库的功能,请确定f2blog的数据表和sablog的
数据表都存在并且都在一个数据库下,sablog数据表里必须是全新安装的数据的。程序没有转换一些博客设置,主要是一些文章和评论。复制内容到剪贴板
代码:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
<meta http-equiv="content-type" content="text/html;charset=utf-8" />
<title> New Document </title>
<meta name="Generator" content="EditPlus">
<meta name="Author" content="">
<meta name="Keywords" content="">
<meta name="Description" content="">
</head>
<body>
<?php
/*
* F2Blog 1.2 To SaBlog 1.5
* @author: moufer<moufer@163.com>
* @package:
* @version: 1.0
* @copyright: www.wa666.cn
* @Date: 2007-5-25
* 说明:本程序没有自动创建数据库的功能,请确定f2blog的数据表和sablog的
数据表都存在并且都在一个数据库下;
*/
$_server= 'localhost';
$_root= 'root';
$_pass= '';
$_dbname = 'blog';
$_charset='utf8';
$db = mysql_connect($_server, $_root, $_pass);
if (!$db) {
die('连接失败: ' . mysql_error());
}else if(mysql_select_db($_dbname, $db)) {
mysql_query("set names $_charset", $db);
echo "数据库链接成功!" . "
";
}else{
die('无效数据库: ' . mysql_error());
}
echo '<a href="convert.php">返回选择页面</a>
';
$act=$_GET['act'];
switch($act) {
case 1: //先取用户表
$sql="TRUNCATE TABLE `sablog_users`";
mysql_query($sql, $db);
$sql="SELECT * FROM f2blog_members";
$result = mysql_query($sql, $db);
while ($row= mysql_fetch_array($result, MYSQL_ASSOC)) {
if($row['username']=='admin') {
continue;
}
$sql2="INSERT INTO sablog_users(userid, username, password, url, regdateline, ipaddress, lastpost)
VALUES({$row['id']}, '{$row['username']}', '{$row['password']}', '{$row['email']}', '{$row['regTime']}', '{$row['lastVisitIP']}', '{$row['lastVisitTime']}')";
$result2 = mysql_query($sql2, $db);
if( $result2 ){
echo "user: ". $row['username'] .": OK! " . "
";
}else{
echo "user: ". $row['username'] .": Error!" . mysql_error() . "
";
}
}
break;
case 2: //类别
$sql="TRUNCATE TABLE `sablog_categories`";
mysql_query($sql, $db);
$sql="SELECT * FROM f2blog_categories";
$result = mysql_query($sql, $db);
while ($row= mysql_fetch_array($result, MYSQL_ASSOC)) {
$sql2="INSERT INTO `sablog_categories`(cid, name, articles) VALUES('{$row['id']}', '{$row['name']}', '{$row['cateCount']}')";
$result2 = mysql_query($sql2, $db);
if( $result2 ){
echo "date: ". $row['name'] .": OK! " . "
";
}else{
echo "date: ". $row['name'] .": Error!" . mysql_error() . "
";
}
}
break;
case 3: //日志
$sql="TRUNCATE TABLE sablog_articles";
mysql_query($sql, $db);
$sql="SELECT * FROM f2blog_logs";
$result = mysql_query($sql, $db);
while ($row= mysql_fetch_array($result, MYSQL_ASSOC)) {
$row['logTitle']=str_replace("'", "'", $row['logTitle']);
$row['logContent']=str_replace("'", "'", $row['logContent']);
$description = mb_substr($row['logContent'], 1, 350, 'UTF-8');
$sql2="INSERT INTO sablog_articles(`articleid`, `cid`, `authorid`, `title`, `description`, `content`, `keywords`, `dateline`, `views`, `comments`, `readpassword`, `attachments`)
VALUES('{$row['id']}', '{$row['cateId']}', '1', '{$row['logTitle']}', '{$description}', '{$row['logContent']}','{$row['tags']}', '{$row['postTime']}', '{$row['viewNums']}', '{$row['commNums']}', '{$row['password']}', '' )";
$result2 = mysql_query($sql2, $db);
if( $result2 ){
echo "date: ". $row['logTitle'] .": OK! " . "
";
}else{
echo "date: ". $row['logTitle'] .": Error!" . mysql_error() . "
";
echo $sql2; exit;
}
}
break;
case 4://标签
$sql="TRUNCATE TABLE sablog_tags";
mysql_query($sql, $db);
$sql="SELECT * FROM f2blog_tags";
$result = mysql_query($sql, $db);
while ($row= mysql_fetch_array($result, MYSQL_ASSOC)) {
$sql2="INSERT INTO sablog_tags(tagid, tag, usenum, aids)
VALUES('{$row['id']}', '{$row['name']}', '{$row['logNums']}', '1')";
$result2 = mysql_query($sql2, $db);
if( $result2 ){
echo "date: ". $row['name'] .": OK! " . "
";
}else{
echo "date: ". $row['name'] .": Error!" . mysql_error() . "
";
echo $sql2; exit;
}
}
break;
case 5://标签
$sql="TRUNCATE TABLE sablog_attachments";
mysql_query($sql, $db);
$sql="SELECT * FROM f2blog_attachments";
$result = mysql_query($sql, $db);
while ($row= mysql_fetch_array($result, MYSQL_ASSOC)) {
$sql2="INSERT INTO sablog_attachments(attachmentid, articleid, dateline, filename, filetype, filesize, downloads, filepath, thumb_filepath, thumb_width, thumb_height, isimage)
VALUES('{$row['id']}', '{$row['logId']}', '{$row['postTime']}', '{$row['attTitle']}', '{$row['fileType']}', '{$row['fileSize']}', '{$row['downloads']}', '', '{$row['name']}', '{$row['fileWidth']}', '{$row['fileHeight']}', '1')";
$result2 = mysql_query($sql2, $db);
if( $result2 ){
echo "date: ". $row['attTitle'] .": OK! " . "
";
}else{
echo "date: ". $row['attTitle'] .": Error!" . mysql_error() . "
";
echo $sql2; exit;
}
}
break;
case 6://标签
$sql="TRUNCATE TABLE sablog_links";
mysql_query($sql, $db);
$sql="SELECT * FROM f2blog_links";
$result = mysql_query($sql, $db);
while ($row= mysql_fetch_array($result, MYSQL_ASSOC)) {
$sql2="INSERT INTO sablog_links(linkid, displayorder, name, url, note, visible)
VALUES('{$row['id']}', '{$row['orderNo']}', '{$row['name']}', '{$row['blogUrl']}', '', '1')";
$result2 = mysql_query($sql2, $db);
if( $result2 ){
echo "date: ". $row['name'] .": OK! " . "
";
}else{
echo "date: ". $row['name'] .": Error!" . mysql_error() . "
";
echo $sql2; exit;
}
}
break;
case 7://评论
$sql="TRUNCATE TABLE sablog_comments";
mysql_query($sql, $db);
$sql="SELECT * FROM f2blog_comments";
$result = mysql_query($sql, $db);
while ($row= mysql_fetch_array($result, MYSQL_ASSOC)) {
$row['content']=str_replace("'", "'", $row['content']);
$row['content']=str_replace("
", "\r\n", $row['content']);
$row['content']=str_replace("\r\n\r\n", "\r\n", $row['content']);
$sql2="INSERT INTO sablog_comments(commentid, articleid, author, authorid, url, dateline, content, ipaddress, visible)
VALUES('{$row['id']}', '{$row['logId']}', '{$row['author']}', '0', '{$row['email']}', '{$row['postTime']}', '{$row['content']}', '{$row['ip']}', '1')";
$result2 = mysql_query($sql2, $db);
if( $result2 ){
echo "date: ". $row['content'] .": OK! " . "
";
}else{
echo "date: ". $row['content'] .": Error!" . mysql_error() . "
";
echo $sql2; exit;
}
}
break;
default:
echo '
<a href="?act=1">导入会员</a> |
<a href="?act=2">导入类别</a> |
<a href="?act=3">导入日志</a> |
<a href="?act=4">导入标签</a> |
<a href="?act=5">导入附件</a> |
<a href="?act=6">导入友情链接</a> |
<a href="?act=7">导入评论</a> |
';
}
?>
</body>
</html>