16 12
发新话题
打印

f2blog转sablog1.5

f2blog转sablog1.5

上次回了帖子就很少来了,这次发给大家算了。


注意是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("'", "&#39;", $row['logTitle']);
    $row['logContent']=str_replace("'", "&#39;", $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("'", "&#39;", $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>

TOP

汗,献丑了。
我的开源点评系统 http://www.mudder.com.cn/bbs/thread-15-1-1.html

TOP

$description = mb_substr($row['logContent'], 1, 350, 'UTF-8');
我用了截字,大家如果要用,去掉这个,截字后果很严重啊。
我的开源点评系统 http://www.mudder.com.cn/bbs/thread-15-1-1.html

TOP

试试.....
谢了

TOP


好多报错....
不知道是不是环境问题.还是我人品问题.

[ 本帖最后由 netxlong 于 2007-9-11 11:02 编辑 ]

TOP

引用:
原帖由 netxlong 于 2007-9-11 10:10 发表

好多报错....
不知道是不是环境问题.还是我人品问题.
看清楚版本哦
是不是转成1.6了?
1.6跟1.5的数据结构有一些出入

TOP

引用:
原帖由 moufer 于 2007-9-11 08:50 发表
$description = mb_substr($row['logContent'], 1, 350, 'UTF-8');
我用了截字,大家如果要用,去掉这个,截字后果很严重啊。
确实是的
呵呵

TOP

我好不容易把sablog v2.8转成f2blog了,暂时不想转回来了
http://www.sablog.net/bbs/thread-2325-1-1.html

搞了一年都没成功,死心了。

TOP

不想转了,好不容易才修复了

TOP

我是exblog的,现在那都没人开发了

TOP

引用:
原帖由 wudi07 于 2007-9-11 12:37 发表

确实是的
呵呵
怎么样的严重啊 ~!~ 能说说吗 ?
我用 上面的 没加修改的 代码转了 ~  就 出现及处 多余的 p> 什么的  不知道 怎么个严重发?

TOP

之前好多人要呢
呵呵
支持楼主

TOP

晕,不敢转,赶快出个f2>sa1.6的
游离式【潮出阁】http://yocosite.net.ru

TOP

引用:
原帖由 yoco 于 2007-10-31 07:56 发表
晕,不敢转,赶快出个f2>sa1.6的
为什么不敢?
自己努力一下就ok了
呵呵

TOP

引用:
原帖由 yoco 于 2007-10-31 07:56 发表
晕,不敢转,赶快出个f2>sa1.6的
只要注意备份就没问题,现转1.5再升到1.6

TOP

 16 12
发新话题