公司有很多个网站都需要使用留言功能,但目前还没时间写后台,就写了一个简易版的留言板,先顶一阵子,但想着网站在不同服务器上,每次去操作不同的数据库有点难受,于是想做一个像WP和DZ一样自动安装的程序,于是抖机灵大法出现了。在网上找了一段,自己改了一下更符合使用(原版版本太老了)
基本功能:
1、生成一个conntent.php的数据库链接文件
2、生成install.lock效验文件,防止二次安装
3、自定义表名前缀,防止表名重复并且保证可读性
install.php代码:
<html
xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta
http-equiv="Content-Type"content="text/html;
charset=utf-8"/>
<title>php安装程序</title>
</head>
<body>
<?php
if($_GET['action']!=1)
{
?>
<form action="install.php?action=1"method="post">
数据库—地址:<input type="text"name="host"value="localhost"><br>
数据库用户名:<input type="text"name="user"value="root"><br>
数据库—密码:<input type="password"name="psw"value=""><br>
数据库——名:<input type="text"name="db"value=""><br>
自定表名前缀:<input type="text"name="mdb"value="z_"><br>
<input type="submit"name="sub"value="提交"/>
</form>
<?php
}
else
{
$lockfile="install.lock";
if($_POST['host']!=""&&$_POST['user']!=""&&$_POST['psw']!="" && $_POST['db']!=""&& $_POST['mdb']!=""){
$host=$_POST['host'];
$user=$_POST['user'];
$psw=$_POST['psw'];
$db=$_POST['db'];
$mdb=$_POST['mdb'];
}
if(file_exists($lockfile)){
exit("已经安装过了,如果要重新安装请先删除install.lock");
}
$conn = mysqli_connect($host,$user,$psw,$db);
if (!$conn) {
die("连接失败: " . mysqli_connect_error());
}
echo "1/5 数据库连接成功";
$mdba="$mdb"."message";
$sql = "CREATE TABLE {$mdba} (
id INT(10) UNSIGNED AUTO_INCREMENT PRIMARY KEY,
username VARCHAR(255) NOT NULL,
content VARCHAR(255),
tel VARCHAR(255) NOT NULL,
wx VARCHAR(255),
intime INT(10) NOT NULL,
email VARCHAR(255)
)";
if (mysqli_query($conn, $sql)) {
echo "</p>2/5 数据表 {$mdba} 创建成功\n";
} else {
die( "创建数据表错误: " . mysqli_error($conn));
}
mysqli_close($conn);
echo "</p>3/5 数据库操作成功\n";
$config_file="conntent.php";
$config_strings="<?php\n";
$config_strings.="\$host=\"".$host."\";\n";
$config_strings.="\$user=\"".$user."\";\n";
$config_strings.="\$pwd=\"".$psw."\";\n";
$config_strings.="\$dbname=\"".$db."\";\n";
$config_strings.="\$db = new mysqli(\$host,\$user,\$pwd,\$dbname);\n";
$config_strings.="\$tablename=\"".$mdba."\";\n";
$config_strings.="if(\$db->connect_erron <> 0){\n";
$config_strings.="echo\"连接失败\";\n";
$config_strings.="}\n";
$config_strings.="\$db->query(\"SET NAMES UTF8\");\n";
$config_strings.="?>";
$fp=fopen($config_file,"wb");
fwrite($fp,$config_strings);
fclose($fp);
echo "</p>4/5 数据库文件添加成功\n";
$fp2=fopen($lockfile,'w');
fwrite($fp2,'安装效验文件');
fclose($fp2);
echo "</p>5/5 效验文件添加成功\n";
}
?>
</body>
</html>
页面截图:
安装成功后截图: