<?php
@header("content-Type: text/html; charset=UTF-8");
define('SABLOG_ROOT', substr(dirname(__FILE__), 0, -7));
//===========================================================
$access = 'G:/www/saxdev/installa/PBLog2.mdb'; //数据库文件,绝对路径,注意用"/"
//===========================================================
error_reporting(0);
// 检查文件是否存在
if (!file_exists($access)) {
exit('PJ2BLOG数据库文件不存在');
}
if (!function_exists('mb_convert_encoding') || !function_exists('iconv')) {
exit('不支持编码转换,请开启mbstring或者iconv扩展');
}
if(substr(PHP_OS, 0, 3) != 'WIN') {
exit('本程序只能在 WINDOWS 操作系统下运行');
}
ob_start();
// 允许程序在 register_globals = off 的环境下工作
$onoff = function_exists('ini_get') ? ini_get('register_globals') : get_cfg_var('register_globals');
if ($onoff != 1) {
@extract($_POST, EXTR_SKIP);
@extract($_GET, EXTR_SKIP);
}
// 去除转义字符
function stripslashes_array(&$array) {
while(list($key,$var) = each($array)) {
if ($key != 'argc' && $key != 'argv' && (strtoupper($key) != $key || ''.intval($key) == "$key")) {
if (is_string($var)) {
$array[$key] = stripslashes($var);
}
if (is_array($var)) {
$array[$key] = stripslashes_array($var);
}
}
}
return $array;
}
function iconv2utf($chs) {
if (function_exists('mb_convert_encoding')) {
$chs = mb_convert_encoding($chs, 'UTF-8', 'gbk');
} else {
$chs = iconv('gbk', 'UTF-8', $chs);
}
return $chs;
}
// 判断 magic_quotes_gpc 状态
if (get_magic_quotes_gpc()) {
$_GET = stripslashes_array($_GET);
$_POST = stripslashes_array($_POST);
}
set_magic_quotes_runtime(0);
if ($step) {
$php_self = $_SERVER['PHP_SELF'] ? $_SERVER['PHP_SELF'] : $_SERVER['SCRIPT_NAME'];
$dbcharset = 'utf8';
$configfile = '../config.php';
$sqlfile = 'install.sql';
if(!is_readable($sqlfile)) {
exit('数据库文件不存在或者读取失败');
}
$fp = fopen($sqlfile, 'rb');
$sql = fread($fp, 2048000);
fclose($fp);
include ($configfile);
include ('../include/func_db_mysql.php');
$DB = new DB_MySQL;
$DB->connect($servername, $dbusername, $dbpassword, $dbname, $usepconnect);
unset($servername, $dbusername, $dbpassword, $usepconnect);
@set_time_limit(1000);
register_shutdown_function('adodbClose');
@$dbc=new com("adodb.connection");
@$dbc->Open("Provider=Microsoft.Jet.OLEDB.4.0; Data Source=".$access);
if(@$dbc->state == 0) {
exit('无法打开 access 数据库文件,可能原因:<br><blockquote>1.不可识别的数据库格式,如果您确认这是一个合法的数据库文件,请使用 Access 软件打开并修复后再试!<br>2.工作组信息文件丢失,或是已被其它用户以独占方式打开。<br>3.access 数据库文件访问权限不足,请设置 access 数据库文件完全控制权限,access 数据库文件所在目录可写权限,windows 系统 temp 目录可写权限;<br>4.access 数据库文件设置了用户组访问权限,请正确设置数据库用户名密码。</blockquote>');
}
}
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>PJBlog2 to SaBlog-X 转换脚本</title>
<style type="text/css">
body {
margin: 20px;
line-height: 140%;
color: #000000;
font: 14px "Georgia", "Verdana", "Tahoma", "sans-serif", "宋体";
background-color: #cdd6dd;
text-align: center;
}
a {
color: #333399;
text-decoration: none;
}
a:hover {
color: #CC0000;
}
td {
font: 14px "Georgia", "Verdana", "Tahoma", "sans-serif", "宋体";
line-height: 160%;
color: #000000;
}
div {
font: 14px "Georgia", "Verdana", "Tahoma", "sans-serif", "宋体";
line-height: 160%;
color: #000000;
}
#main {
background-color: #fff;
text-align: left;
padding: 20px;
width: 600px;
border: 1px solid #ccc;
margin-bottom: 20px;
}
.title {
font-size: 18px;
font-weight: bold;
}
form {
margin: 0px;
padding: 0px;
}
.formfield {
font: 14px "Georgia", "Verdana", "Tahoma", "sans-serif", "宋体";
font-weight: bold;
background-color: #fff;
padding: 3px;
border: 1px solid #BFBFBF;
margin-right: 10px;
}
.formbutton {
font: 14px "Georgia", "Verdana", "Tahoma", "sans-serif", "宋体";
font-weight: bold;
padding: 3px;
}
</style>
</head>
<body>
<div id="main">
<form method="post" action="<?php echo $php_self;?>">
<p class="title">PJBlog2 to SaBlog-X 转换向导</p>
<hr noshade="noshade" />
<?php
if (!$step || $step == '1') {
?>
<p class="title">第一步:转换须知</p>
<ol>
<li>本程序只用于 <b>PJBlog2 2.x</b> 转换到 <b>SaBlog-X 1.6</b></li>
<li>本程序只转换分类、文章、评论、引用、用户、友情链接、站点统计数据。其他部分数据可以通过重建数据生成.</li>
<li>转换不会对 PJBlog2 的数据进行任何操作!可以不备份 PJBlog2 的数据.</li>
<li>转换过程也可以看作是全新安装 SaBlog-X 1.6. 因此可以不用事先安装 SaBlog-X 1.6.</li>
<li>转换完毕后一定删除本脚本!</li>
<li>转换过程中千万不能关闭浏览器!</li>
<li>为简化步骤,不做过多的判断!因此请尽量按照程序的要求操作.</li>
<li>没有遵照步骤提示操作造成的一切后果自己承担,本程序作者不会负任何责任!</li>
</ol>
<p><b>由于 PJBlog2 的管理员不是固定标识、密码算法不是MD5加密,请输入下列数据:</b></p>
<p>管理员权限标识: <input type="text" name="status_name" value="SupAdmin" /> PJ2BLOG默认是 SupAdmin<br />
管理员的新密码: <input type="text" name="newadminpass" value="" /> 新密码将采用MD5加密<br />系统只转换一个 mem_ID 最小的管理员</p>
<p> </p>
<p>点击下一步就开始升级操作!</p>
<hr noshade="noshade" />
<p align="right">
<input type="hidden" name="step" value="2" />
<input class="formbutton" type="submit" value="下一步" />
</p>
<?php
} elseif ($step == '2') {
?>
<p class="title">第二步:建立数据表</p>
<p>本步骤建立 SaBlog-X V1.6 的数据表</p>
<p>
<?php
if (!$status_name || !$newadminpass) {
echo "<b>请填写“管理员权限标识”和“管理员的新密码”</b>";
} else {
runquery($sql);
}
?>
</p>
<p> </p>
<p>点击下一步就开始把 PJBlog2 2.x 的数据分步骤转移到刚才建立的 Sablog-X 数据表中.</p>
<hr noshade="noshade" />
<p align="right">
<input type="hidden" name="step" value="3" />
<input type="hidden" name="status_name" value="<?php echo $status_name;?>" />
<input type="hidden" name="newadminpass" value="<?php echo $newadminpass;?>" />
<input class="formbutton" type="submit" value="下一步" />
</p>
<?php
} elseif ($step == '3') {
?>
<p class="title">第三步:转移数据</p>
<ol>
<li>后台用户数据</li>
<li>分类数据</li>
<li>标签数据</li>
<li>文章数据</li>
</ol>
<p>
<?php
if (!$status_name || !$newadminpass) {
echo "<b>请填写“管理员权限标识”和“管理员的新密码”</b>";
} else {
$query = "SELECT top 1 mem_Name,mem_LastIP,mem_Email,mem_RegTime FROM blog_Member WHERE mem_Status = '".addslashes(trim($status_name))."'";
$rs=$dbc->execute($query);
$userarray = array('username' => 'mem_Name', 'loginip' => 'mem_LastIP', 'url' => 'mem_Email', 'regdateline' => 'mem_RegTime');
while(!$rs->EOF) {
foreach($userarray AS $var => $content) {
$user[$var] = htmlspecialchars(addslashes(iconv2utf($rs->fields[$content]->value)));
}
$DB->query("INSERT INTO ".$db_prefix."users (username, password, loginip, url, regd
没有合适的资源?快使用搜索试试~ 我知道了~
温馨提示
【项目资源】:包含前端、后端、移动开发、操作系统、人工智能、物联网、信息化管理、数据库、硬件开发、大数据、课程资源、音视频、网站开发等各种技术项目的源码。包括STM32、ESP8266、PHP、QT、Linux、iOS、C++、Java、python、web、C#、EDA、proteus、RTOS等项目的源码。【项目质量】:所有源码都经过严格测试,可以直接运行。功能在确认正常工作后才上传。【适用人群】:适用于希望学习不同技术领域的小白或进阶学习者。可作为毕设项目、课程设计、大作业、工程实训或初期项目立项。【附加价值】:项目具有较高的学习借鉴价值,也可直接拿来修改复刻。对于有一定基础或热衷于研究的人来说,可以在这些基础代码上进行修改和扩展,实现其他功能。【沟通交流】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。鼓励下载和使用,并欢迎大家互相学习,共同进步。
资源推荐
资源详情
资源评论
收起资源包目录
[博客空间]PJBLOG2 to Sablog-x 1.6 转换程序_pjblog2.rar (2个子文件)
[博客空间]PJBLOG2 to Sablog-x 1.6 转换程序_pjblog2
pjblog2
ubb.php 9KB
pjblog2.php 19KB
共 2 条
- 1
资源评论
CyMylive.
- 粉丝: 6711
- 资源: 3万+
下载权益
C知道特权
VIP文章
课程特权
开通VIP
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功