bo-blog1.7x 转x-space2.x的简单代码

上一篇 / 下一篇  2007-03-07 04:39:52 / 个人分类:LAMP

写的比较简单木铎校园 BBS 社区)z2Mi+q;u(R5pw MQ
木铎校园 BBS 社区 cv@_g] h;yj*H
<?
)eSMHa0# bo-blog 1.x 转换程序for 平凡的香草木铎校园 BBS 社区f aw Jvx~
# x-space中已经导入部分日志,来源是由bo-blog1.7升级后的bo-blog2.x
X+Fi{TE3~0# 但是在 bo-blog 1.7 升级到2.x的过程中,丢了了大量(300)篇日志(无法导入),一直没有补上木铎校园 BBS 社区U2A;h.CLyd
# 借从bo-blog转换到x-space的机会,将原来的日志一并导入。这部分代码是专门用来处理1.7升级过程中无法导入的那部分日志的木铎校园 BBS 社区7ST+{c ~1Kv
# 只导入日志,不处理其他内容木铎校园 BBS 社区2k^w}4s g
# 补充:经过检查,发现bo-blog 1.x 文本版通过 list.php 文件作为索引,之前无法导入的日志,主要是由于list.php不再完整。
.s*ac-r2Xf0# 两种思路,1,修正list的php,导入数据库版本blog,然后再通过程序转换木铎校园 BBS 社区|}d4XI;dJ
#            2,直接读类别列表,通过帖子时间检查是否已经导入x-space,如果没有,则直接从文件中读取数据,然后导入x-space木铎校园 BBS 社区p u3ggL\&q
$target_server    = "localhost:/tmp/mysql.sock";木铎校园 BBS 社区 q1a1EKj;Q,w
$target_db        = "discuz5_gbk";木铎校园 BBS 社区$])A;J:Xq-L%`:~Wu5a_
$target_db_user = 'root';
(f8fK)Ug\0$target_db_pw    = '';木铎校园 BBS 社区%U1R ec6OxW.I
$catid            = 32; #你想转入的类别id
L+@ C7DM.dG0$itemtypeid     = 55; # 你想转入的个人分类id木铎校园 BBS 社区:Z2t,zD+ip8_$q
$uid            = 3434324; #转入用户的uid,discuz的uid木铎校园 BBS 社区ELbyO'v D _b
$username        = 'xxxx';  #转入用户的用户名木铎校园 BBS 社区w V {1Cp(`-u:V7Y
$username        = addslashes($username);
a)uLBK(`lL0$datadir        = 'ofJ8Ls09';
n` Q2@ mw7A5M0$listfiles        = array('1.php','2.php','3.php','4.php','5.php','6.php','7.php','8.php','9.php','10.php','11.php','12.php');
&[G&|'U$_4`0$line_array        = array();木铎校园 BBS 社区#O`Q [5h*N;~

Z7~,ko,rL/V0$target_link = mysql_connect($target_server,$target_db_user,$target_db_pw);
S!NM&_]?7W p:iO0if($target_link){
3@6l&Ga0T9|0    mysql_select_db($target_db);木铎校园 BBS 社区5n]@Cs-A+Qk C
}else {
O \I6h0j4qB'{`,]0    echo "Connect to $target_server:$target_db with $target_db_user ERRor!";木铎校园 BBS 社区 l ax3G OOjm
}木铎校园 BBS 社区 W.?/P"lB$}0^5v
木铎校园 BBS 社区 hzd!V6z^
if (is_dir($datadir)) {
6O3[*z~Ne~0    if ($dh = opendir($datadir)) {木铎校园 BBS 社区P7`%G+p8O6qL `/Q
        /*木铎校园 BBS 社区H-d/D1V0i
        while (($file = readdir($dh)) !== false) {木铎校园 BBS 社区j)@6z j?-yS2l
            echo "filename: $file : filetype: " . filetype("$datadir/$file") . "\n";木铎校园 BBS 社区?(kEn{3I)d E
        }
5DB.})k#cwA;w5y0        closedir($dh);
!~Jg$nugQ0        */木铎校园 BBS 社区%[{oU6T Q9P
    }else {
T){'m.g3w P]0        echo "opendir error \n";木铎校园 BBS 社区P&}Y {x.k
        exit(1);
"w DW V*`7}%oF0    }木铎校园 BBS 社区1\zOt0m*fIc5o
    closedir($datadir);
+HR2B1x:m#j^g;V9Qv0}
DC)_H j!{T0foreach ($listfiles as $listfile) {木铎校园 BBS 社区!^r?$pr:q1Q2k!?A
    echo "\n Listfile : $listfile\n";
lfb:C)t!TYt0    if($list = file("$datadir/$listfile")){
F _)}^#N:B0        foreach ($list as $line){木铎校园 BBS 社区 j,KH z8_P
             $line_array = explode('|',$line);
i:rE0[%Je0             print_r($line_array[1]);木铎校园 BBS 社区[ v#m9R z/d gy
             print("\n");
6gF6N y7B$i3fob{.}0             if($content = file_get_contents("$datadir/$line_array[1].art")){木铎校园 BBS 社区;?#q D:X8R?
                 $content = addslashes(convert_utf82gbk($content));
2U+OI2aU(V g0             }else {木铎校园 BBS 社区;f&Jb IQ#sT0DN%BD7E'r
                 echo "File_get_contents Error \n";木铎校园 BBS 社区*w&dwE S,A0x0r
                 exit(1);木铎校园 BBS 社区S:p3s.cng1n
             }
e m;~'k [6mH0             $query_select = "select dateline from {$target_db}.supe_spaceitems where dateline=$line_array[3];";
b&OD'K8k0             if(mysql_query($query_select)){木铎校园 BBS 社区TK;t4\A0}
                 $num_rows = mysql_num_rows($result);木铎校园 BBS 社区|3Z(k:O(Xw;i t
                 if($num_rows>1){
U8t7tap9f"IL0                     continue;    木铎校园 BBS 社区&Y%_Q0M{hppu5I
                 }木铎校园 BBS 社区N.L4Vd!]/V3t
             }
z&RY)jF e0                print("\n\n");
q(X:^F&HpY ZOR0                $tid        =    0;            // 对应论坛主题 id
JiJ9k{ en0                #$username    =    $i['username'];
C9va-d:p0                #$itemtypeid    =    $i['dirid'];        // 个人分类ID木铎校园 BBS 社区 fHyH,q&F
                $type        =    'blog';木铎校园 BBS 社区-LZWJ9I q{-[-{]4_`
                $subtype    =    '';            // 信息分类型
T$W(vt9~+E V?0                $subject    =    addslashes(convert_utf82gbk($line_array[2]));木铎校园 BBS 社区N b c(a lu
                $dateline    =    $line_array[3];
]B4WgMu J0                $lastpost    =    0;
F5Heex P2kT,C h0tB?0                $viewnum    =    $line_array[4];            // 点击次数
~+HX4Y#yU0                $replynum    =    0;木铎校园 BBS 社区5Oc5mz)^xTUl
                $trackbacknum    =    0;        // Trackback 数
Db&} ` ~7E$b&mc0                $goodrate    =    0;
i)ezO,g:TL3s0                $badrate    =    0;木铎校园 BBS 社区5Zu4C$Bef;N7s
                $digest        =    0;
T$ZD;HP6c H:R0                $top        =    0;
q8WNW N0                $allowreply    =    1;木铎校园 BBS 社区K-ots-K
                $folder        =    1;
P#_kV0^4R]Zp0                $haveattach    =    0;木铎校园 BBS 社区-N QQi3bC
                $grade        =    0;   
z&I8aA%aP7T0                $query_insert = "INSERT INTO {$target_db}.supe_spaceitems (`catid`, `uid`, `tid`, `username`, `itemtypeid`, `type`, `subtype`, `subject`, `dateline`, `lastpost`, `viewnum`, `replynum`, `trackbacknum`, `goodrate`, `badrate`, `digest`, `top`, `allowreply`,  `folder`, `haveattach`, `grade`) VALUES('$catid', '$uid', '$tid', '$username', '$itemtypeid', '$type', '$subtype', '$subject', '$dateline', '$lastpost', '$viewnum', '$replynum', '$trackbacknum', '$goodrate', '$badrate', '$digest', '$top', '$allowreply', '$folder', '$haveattach', '$grade');";木铎校园 BBS 社区6|'p Yc"p*{*DS]
                print_r ($query_insert);
%`pK3FP:h$@2}|Qg4i0                echo "\n";木铎校园 BBS 社区+W6D n,Lz
                $includetags = '';木铎校园 BBS 社区ze)K _m2H)V{
                $message = $content;木铎校园 BBS 社区6I+K2v#v$bQ+Rq
                木铎校园 BBS 社区 K)N)Mm6e YAj_ w
                #exit(0);木铎校园 BBS 社区?1]'c7_W
                if(mysql_query($query_insert,$target_link)){
Ce aE B0                    $itemid        = mysql_insert_id($target_link);               
$QA.VHX5@V4z&\2p0                    $hash        = substr(md5($itemid), 8, 16);    // 表单关联            
v(oCVJvg0                    $query_update    = "update {$target_db}.supe_spaceitems set hash='$hash' where itemid='$itemid';";
(i*d*}:T Ww[0                    print_r($query_update);木铎校园 BBS 社区7?wch&Mp"H,g
                    if(mysql_query($query_update,$target_link)){
6Nd.u;c{fh0                        echo "convert subject:$subject \n\n";                   木铎校园 BBS 社区s?Q/h7H"]0o_
                    }else {
"?6].EC,x$c9q0                        echo mysql_error();木铎校园 BBS 社区VN*g1I d']'F
                        exit(1);
:]+{|4t r5c~0                    }木铎校园 BBS 社区'pP'z)bb@&G
                    $query_insert_content = "INSERT INTO {$target_db}.supe_spaceblogs (`itemid`, `message`, `relativetags`, `postip`, `relativeitemids`, `customfieldid`, `customfieldtext`, `includetags`, `mood`, `weather`) VALUES ('$itemid', '$message', '$relativetags', '$postip', '$relativeitemids', '$customfieldid', '$customfieldtext', '$includetags', '$mood', '$weather');";
&?\|1r8k:Q"I0                    echo "\n $query_insert_content \n";
CE4Q R[;e-J9?P0                    #$query_insert_content = $post['content'];
U"rY^"h;S;]Su0                    #exit(0);
X"s/\ GP3]0                    if(mysql_query($query_insert_content,$target_link)){木铎校园 BBS 社区Rtx8QMl,Z
                        echo "inster into supe_spaceblogs $itemid\n";
ZQ5P2ba2?{0                    }else {
LX9yo|&@M0                        echo mysql_error();
_;_C8iZ0                        exit(1);木铎校园 BBS 社区4rD.F.zal S c
                    }木铎校园 BBS 社区$AD }h*a\Fy$aZ
                }else {木铎校园 BBS 社区B YMy+i#c
                    echo mysql_error();
-S JD]'^u F I#p\c0                    exit(1);
8{+}@FO5S0                }
Q2FRw`M8k0        }
:cHrXU D0    }else {
6b stO/Iq0        echo "file() $filelist error\n";
-h]0y*o7F5Gi |7y0        exit(1);木铎校园 BBS 社区? AQR#[1I
    }   木铎校园 BBS 社区_|G @:BIr
}木铎校园 BBS 社区8D$Z t!ZJ!P
木铎校园 BBS 社区~Fmw9V
mysql_close();木铎校园 BBS 社区Mi+M+N/O_Y6|*U
木铎校园 BBS 社区 Z"E\+X/AG^r y
echo "\n All have convert into x-space \n";木铎校园 BBS 社区+AC7^"t1MK

/_&Wa8mtX(C0function daddslashes($string) {木铎校园 BBS 社区\ QA1trYW
    if(!@ini_get('register_globals') || !get_magic_quotes_gpc()) {
p3z:V4E"[4x,a#z%o's0        if(is_array($string)) {木铎校园 BBS 社区9W7VI"lsG
            foreach($string as $key => $val) {
}?8Mj|@0                $string[$key] = daddslashes($val);木铎校园 BBS 社区9Wuk*XiU ~
            }
*S dTZ*F0r0        } else {木铎校园 BBS 社区v2O*k!DC/P'T,j
            $string = addslashes($string);木铎校园 BBS 社区,N5P\:a9K!l:M&U
        }木铎校园 BBS 社区|%nk)R5^P
    }木铎校园 BBS 社区X)t {NA6h
    return $string;木铎校园 BBS 社区_%MX&DD4J)};]
}木铎校园 BBS 社区nu Om9[&`-D

[%K cm2}0function convert_utf82gbk($msg) {木铎校园 BBS 社区!\g/S.| o
    return iconv('UTF-8','gbk', $msg);
C.M*l/Z2mH0}
!t BR!?j9J D0?>木铎校园 BBS 社区FscO1H@)H;a6H;b.y"y

TAG: LAMP

 

评分:0

我来说两句

显示全部

:loveliness: :handshake :victory: :funk: :time: :kiss: :call: :hug: :lol :'( :Q :L ;P :$ :P :o :@ :D :( :)

关于作者