PHP中有很多精良的作品,为了让人们更好的安装利用,都会有一个安装勾引页面,那这个页面是如何实现的呢?
基本功能:
1、天生一个conntent.php的数据库链接文件
2、天生install.lock校验文件,防止二次安装
3、自定义表名前缀,防止表名重复并且担保可读性
install.php代码:
<html xmlns=34;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>
```
---
页面截图:
安装成功后截图: