')) {
$php_version = true;
}
$fileinfo_ext = false;
if (extension_loaded('fileinfo')) {
$fileinfo_ext = true;
}
$zip_ext = false;
if (extension_loaded('zip')) {
$zip_ext = true;
}
$mysqli_ext = false;
if (extension_loaded('mysqli')) {
$mysqli_ext = true;
}
$curl_ext = false;
if (extension_loaded('curl')) {
$curl_ext = true;
}
// 连接数据库
$servername = 'localhost';
$db_username = params('db_username', false);
$db_password = params('db_password', false);
$db_host = params('db_host', '');
$db_port = params('db_port', 3306);
$table_name = params('table_name', '');
$admin_email = params('admin_email', '');
$admin_password = params('admin_password', '');
$database_type = params('database_type', 1);//1=全新安装,2=使用已存在数据库不安装数据库
$error = false;
$conn = null;
$status = false;
function isDatabaseVersionValid($conn): bool
{
global $error;
$serverInfo = mysqli_get_server_info($conn);
if (strpos($serverInfo, 'MariaDB') !== false) {
return true;
// preg_match('/^(\d+\.\d+\.\d+)/', $serverInfo, $matches);
// $mariaDbVersion = $matches[1];
// if (version_compare(trim($mariaDbVersion), '10.0.0', '>=')) {//验证MariaDB数据库版本是否大于10.2.3
// return true;
// }else{
// $error = '
数据库相关错误,详细信息如下
' . "MariaDB版本低于10.0.0,请升级MariaDB版本至10.0.0及以上!
";
// return false;
// }
}
if (version_compare($serverInfo, '5.7', '>=')) {//验证数据库版本是否大于5.7
return true;
}
$error = '数据库相关错误,详细信息如下
' . "Mysql数据库版本低于5.7,请升级Mysql数据库至5.7及以上!
";
return false;
}
if ($db_username && $php_version && $fileinfo_ext && $curl_ext && $zip_ext) {
$conn = new mysqli($db_host, $db_username, $db_password, null, $db_port);
if ($conn->connect_error) {
$error = '数据库相关错误,详细信息如下
' . "{$conn->connect_error}
";
} else if (!isDatabaseVersionValid($conn)) {
} else {
if ($database_type == 1) {//全新安装
$sql = "DROP DATABASE $table_name";//删除原来的
$conn->query($sql);
$sql = "CREATE DATABASE $table_name";//创建新的
if ($conn->query($sql) !== TRUE) {
$error = '数据表创建失败';
}
$conn = new mysqli($db_host, $db_username, $db_password, $table_name, $db_port);
$sql_file_content = file_get_contents('../install.sql');
// 解析SQL文件内容并执行
$sql_statements = explode(';', trim($sql_file_content));
foreach ($sql_statements as $sql_statement) {
if (!empty($sql_statement)) {
$conn->query($sql_statement);
}
}
$admin_password = md5($admin_password);
//添加默认管理员
$AdminSql = ("
INSERT INTO user (mail, password, create_time, login_ip, register_ip, manager, login_fail_count, login_time)
VALUES ('$admin_email', '$admin_password', null, null, null, 1, DEFAULT, null);
");
$conn->query($AdminSql);
$conn->close();
file_put_contents('./installed.lock', 'installed');
$status = true;
}
}
}
if ($status) {
$env = <<
mTab新标签页安装页面
}
mTab书签安装程序
网站安装完毕
mTab书签安装完毕
欢迎使用mTab书签,
点击下方按钮跳转到首页。
后台进入方式,需要用管理员账户登录客户端
鼠标在桌面右击打开菜单->点击设置->个人中心->登录管理员的账号
->再次进入个人中心即可看到->管理后台->进入即可
这是一个多用户的书签导航程序,用户之间数据是隔离的不受干扰
可以使用鼠标右键在桌面点击呼出菜单。
很多功能就在鼠标右键菜单内。别怪我没告诉你哟hahaha~