专注收集记录技术开发学习笔记、技术难点、解决方案
网站信息搜索 >> 请输入关键词:
您当前的位置: 首页 > youbbs

PHP版youBBS数据导入Go版youBBS新站

发布时间: 文章来源:www.iduyao.cn 采编人员:毒药  
适用于把PHP 版的数据导入Go 版。
导入过程:

1)在原服务器网站目录下放一个文件 gettopic.php (内容见贴后)

2)添加一条重定向规则,nginx 环境是

rewrite ^/get/(.+?)/(.+) /gettopic.php?tb=$1&id=$2 last;

以确保网址 yourdomain.com/get/users/1 能正常访问。
3)修改新站配置 config/config.yaml,只需修改一项 OldSiteDomain,填写原网站网址
OldSiteDomain: "http://域名com"

4)在本地或服务器运行go 版,添加一个参数 getoldsite,设参数值为1、2 分别运行一次
解释getoldsite 参数值的作用:
1 读取原网站数据并保存在新数据库(一般完成后要把同目录下后缀名为db 的文件备份)
2 把上一步得到的数据导入到新站
./goyoubbs -getoldsite=1
./goyoubbs -getoldsite=2

5)上面顺利就大功告成,运行网站主程序
./goyoubbs

6)默认端口是8082,打开下面网址看到新站
http://127.0.0.1:8082

密码策略不同,原站用户名、密码登录会无效,第三方账户登录不受影响。

文件 gettopic.php 内容:

<?php
define('IN_SAESPOT', 1);
define('ROOT' , pathinfo(__FILE__, PATHINFO_DIRNAME));

// 添加重定向
//add     rewrite ^/get/(.+?)/(.+) /gettopic.php?tb=$1&id=$2 last;

include(ROOT . '/config.php');
include(ROOT . '/common.php');

$tb = $_GET['tb'];
$id = intval($_GET['id']);

$tb_arr = array('articles' => 1, 'categories' => 1, 'comments'=>1, 'qqweibo'=>1, 'tags'=>1, 'users'=>1, 'weibo'=>1);
if(!array_key_exists($tb, $tb_arr)){
    header("HTTP/1.0 404 Not Found");
    header("Status: 404 Not Found");
    echo '{"code":404,"msg":"tb not found"}';
    exit;
}

// 注意表前缀,你使用的版本可能不是"yunbbs_",修改为自己的表前缀
$query = "SELECT * FROM `yunbbs_$tb` WHERE id='$id'";
$obj = $DBS->fetch_one_array($query);
if($obj){
    if($tb=="users"){
        /* 
        密码修正,按照自己的规则来修改,修改后的密码为新站登录密码,
        新站密码规则:输入内容的md5 值,如作以下修改则登录密码均改为"admin"
        md5("admin") == "21232f297a57a5a743894a0e4a801fc3"
        */
        // $obj["password"] = "21232f297a57a5a743894a0e4a801fc3";
    }
    echo json_encode($obj, JSON_UNESCAPED_UNICODE);
}else{
    header("HTTP/1.0 404 Not Found");
    header("Status: 404 Not Found");
    echo '{"code":404,"msg":"not found"}';
}

?>
友情提示:
信息收集于互联网,如果您发现错误或造成侵权,请及时通知本站更正或删除,具体联系方式见页面底部联系我们,谢谢。
   1277阅读
目前尚无回复
登录 后发表评论

热门分类:

Web开发 | Web前端 | HTML/CSS | php | ASP | JavaScript | jQuery | HTML5 | vbScript | Ajax | 网页设计 | 跨浏览器开发 | 高性能WEB开发 | Web Service | XML/SOAP | CGI | 数据库 | SQL | MySQL | NoSQL | Oracle技术 | Oracle管理 | Oracle开发 | Oracle面试 | Oracle Exception | Sql Server | Informix | Sybase | DB2 | Access | VFP | 数据仓库 | 高性能数据库开发 | 其他数据库 | 移动开发 | Android | Iphone | Windows Mobile | Symbian | BlackBerry | QT开发 | Brew | MeeGo | 移动平台 | 电信IT应用开发 | 移动应用 | Java Web开发 | J2EE | J2SE | J2ME | Java面试 | Java相关 | Eclipse | Java Exception | 企业开发 | 企业信息化 | 行业应用 | GIS | SAP | Tivoli | Lotus | Exchange | SharePoint | Dynamics CRM | K2 BPM | 报表 | 嵌入开发 | WinCE | 硬件开发 | 单片机 | 汇编语言 | 驱动开发 | Wireless | VxWorks | 应用服务器 | Apache | IIS | JBoss | WebSphere | Weblogic | ColdFusion | 研发管理 | 项目管理 | 开发过程 | 开发方法 | 软件设计 | 设计模式 | 软件架构设计 | 敏捷开发 | 微创软件开发 | CVS/SVN | VSTS | PowerDesigner | Rational | 软件测试 | C# | ASP.NET | WinForm | WCF | CLR | WPF | XNA | Visual Studio | WinRT Metro | .NET Framework | VB Dotnet | VC | .NET分析设计 | .NET组件控件 | J# | Delphi | .NET报表 | LINQ | .NET新技术 | .NET面试 | .NET相关 | DotNet Exception | Linux/Unix | Solaris | AIX | 多媒体/流媒体开发 | 多媒体设计 | 交互式开发 | Flash | 图形/图像 | 图像工具使用 | Flex | AutoCAD | Silverlight | C++ | C语言 | C++ Builder | 网络通信 | PB | Ruby/Rails | Perl/Python | Erlang | Go | Swift | Verilog | 编程 | 其他开发语言 | Open API | 信息/网络安全 | IBM云计算 | Paypal | VOIP | Google技术 | 人工智能