phpbb 2 wordpress
没想过会把phpbb的内容转到wordpress里头来,一个是论坛,一个是blog,好像不怎么搭边.
不过前几天还真有这个需求,要把phpbb论坛里的某用户发过的所有帖子全部导入wordpress.也没什么特复杂的,下面是我的导入步骤:
从phpbb导出成csv格式
因为数据量不是太大,所以我直接用phpmyadmin操作,帖子集中在phpbb_posts,phpbb_posts_text两个表,前者记录了帖子的大致信息,后者主要记录了帖子的文本,一条sql查询:
SELECT post_subject, post_text
FROM `bb_posts` a
LEFT JOIN bb_posts_text b
USING ( post_id )
WHERE poster_id =10
然后使用phpmyadmin的导出功能把标题post_subject和内容post_text导出成为microsoft的csv格式备用.
转换成rss格式
wordpress有个功能,可以导入rss格式的数据,现在这情况用着也合适,因此写个脚本把上面的csv转换成rss,这个任务就算完成了一大半.
<?php
$str = file_get_contents('phpbb_posts.csv');
$arr = explode("\r\n", $str);
$li = array();
foreach($arr as $v) {
if(empty($v))
continue;
list($title, $content) = explode('","', $v);
$title = iconv("GBK", "UTF-8//IGNORE", $title);
$content = iconv("GBK", "UTF-8//IGNORE", $content);
$li[] = array($title, $content);
}
?>
<?php echo '<?xml version="1.0" encoding="UTF-8"?>';?>
<!-- generator="wordpress/2.0.4" -->
<rss version="2.0"
xmlns:content="http://purl.org/rss/1.0/modules/content/"
xmlns:wfw="http://wellformedweb.org/CommentAPI/"
xmlns:dc="http://purl.org/dc/elements/1.1/"
>
<channel>
<pubDate>Sat, 16 Sep 2006 14:51:43 +0000</pubDate>
<generator>http://wordpress.org/?v=2.0.4</generator>
<language>en</language>
<?php foreach($li as $v): ?>
<item>
<title><?php echo $v[0]?></title>
<pubDate>Fri, 15 Sep 2006 11:58:41 +0000</pubDate>
<dc:creator>volcano</dc:creator>
<description>
<?php echo $v[1]?>
</description>
</item>
<?php endforeach?>
</channel>
</rss>
时间不是很长,很快就转换成rss格式了
导入wordpress
这一步最easy,用wordpress的导入rss功能轻松搞定
说明
因为这次导出的数据基本上都只有主帖,没太多的麻烦
作者: Volcano 发表于September 19, 2006 at 6:53 am
Simon 于 2008-10-02 @ 22:54:44 留言 :
我在空间里放了两个文件夹,一个是blog, 一个是club, blog安装了wordpress,club安装了phpbb,都已经安装成功,可是现在 http://example.com/club可以正常访问,而http://example.com/blog却不显示,能帮我想想这是哪里出错了吗,(我曾经试着把wordpress内容放在根目录下,也安装成功了,但是打开example.com时也是不显示)
从http://example.com/blog/wp-admin/后台登陆是可以显示的
Volcano 于 2008-10-10 @ 09:37:39 留言 :
试着重新运行wordpress的安装程序?我想一定是wp-config.php设置问题