菜鸟实习——如何做一个PHP自动安装程序install.php

公司有很多个网站都需要使用留言功能,但目前还没时间写后台,就写了一个简易版的留言板,先顶一阵子,但想着网站在不同服务器上,每次去操作不同的数据库有点难受,于是想做一个像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> 

页面截图:
页面截图

安装成功后截图:
添加成功

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值