大家好,欢迎来到IT知识分享网。
PHP中有很多优秀的作品,为了让人们更好的安装使用,都会有一个安装引导页面,那这个页面是如何实现的呢?
基本功能:
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>
“`
—
页面截图:
安装成功后截图:
免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://yundeesoft.com/47520.html