//项目在上线的时候需要将数据库导入,还需要你将你的DB_HOST……等信息进行修改,非常麻烦,如果有了只能装过程就简单了,可以很快的将你的数据库中的表 导入到服务器中。
/*
*@yzt
*建立目录(install)
*在文件中写入4个文件(setp.php),把分离的数据库放到里面
*******/
//index.php
<html>
<head></head>
<body>
<h1>协议</h1>
<a href="step1.php">同意</a>
<a href="#">不同意</a>
</body>
</html>
//step1.php
<?php
//初始化要检测的文件列表
$files = [
'./index.php',
'./cache',
'./config',
];
//检查
$temp = true;
foreach($files as $f) {
echo $f;
if (is_writeable($f)) {
echo '可写';
} else {
echo '不可写';
$temp = false;
}
if (is_readable($f)) {
echo '可读';
} else {
echo '不可读';
$temp = false;
}
}
if ($temp) {
echo '<a href="step2.php">下一步</a>';
} else {
echo '有些文件,不可操作';
}
//step2.php
<?php
//接受配置文件
include'config/config.php';
?>
<form action="step3.php" method="post">
主机名:<input type="text" name="DB_HOST" value="<?=DB_HOST;?>" /><br />
用户名:<input type="text" name="DB_USER" value="<?=DB_USER;?>" /><br />
用户密码:<input type="text" name="DB_PWD" value="<?=DB_PWD;?>" /><br />
数据库名:<input type="text" name="DB_NAME" value="<?=DB_NAME;?>" /><br />
字符集:<input type="text" name="DB_CHARSET" value="<?=DB_CHARSET;?>" /><br />
<input type="submit" value="提交" />
</form>
//step3.php
<?php
$content = file_get_contents('config/config.php');
foreach($_POST as $key => $value) {
$pattern = "/define\('$key','(.*)'\);/imsU";
$replay = "define('$key','$value');";
//查看遍历的内容
preg_match($pattern,$content,$mathch);
$content = preg_replace($pattern,$replay,$content);
}
file_put_contents('config/config.php',$content);
//导入数据库
include'config/config.php';
$conn = mysqli_connect(DB_HOST,DB_USER,DB_PWD,DB_NAME);
mysqli_set_charset($conn,DB_CHARSET);
$sqli_file = file_get_contents('yzt.sql');
$sql = explode(';',$sqli_file);
foreach ($sql as $v) {
mysqli_query($conn,$v);
echo '导入成功';
}
//添加管理员 step4.php
<html>
<form action="step5.php" method="post">
<input type="text" name="username" /><br />
<input type="password" name="pwd" /><br />
<input type="submit" value="添加"/>
</form>
</html>
//step5.php
<?php
//添加管理员
if(file_exists('./install.loc')){
exit('网站已经被安装过了,如果需要重新安装网站,请删除 /install.loc 文件');
}
$username = $_POST['username'];
$password = $_POST['pwd'];
//$sql = "insert into yzt_user(username,password) values('$username','$password')";
//$result =mysqli_query($conn,$sql);
//var_dump($result);
$fp = fopen('./install.loc','a+');
fwrite($fp,'123');
fclose($fp);
echo '安装成功';
/**这样就安装成功了***/