制作php安装程序

来源:互联网 发布:c语言中eof是什么字符 编辑:程序博客网 时间:2024/05/21 06:26
先建立两个php文件 一个是install.php 另一个是config.php
其中config.php为空的文件

install.php 内容如下:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>无标题文档</title>
</head>

<body>
<?php
  $files="config.php";  
  if(!is_writable($files))    //  is_writable() 检查文件是否可写,用来判断文件权限
  {
  echo "不可写";
  }else{
  echo "可写";
  }
  
  if(isset($_POST['install']))
  {
  $config_str="<?php";
  $config_str.="\n";
  $config_str.='$mysql_host ="'.$_POST[localhost].'";';
  $config_str.="\n";
  $config_str.='$mysql_user ="'.$_POST[username].'";';
  $config_str.="\n";  
  $config_str.='$mysql_pass ="'.$_POST[password].'";';
  $config_str.="\n";  
  $config_str.='$mysql_dbname ="'.$_POST[mysql_db].'";';
  $config_str.="\n";  
  $config_str.='$mysql_table ="'.$_POST[table].'";';
  $config_str.="\n";  
  $config_str.="?>";  
  
  $ff=fopen($files,"w+");   // 文件操作 打开一个文件或新建
  fwrite($ff,$config_str);   //  文件操作  写入内容到文件
  
  include_once("config.php");
  if(!@$link=mysql_connect($mysql_host,$mysql_user,$mysql_pass))   // 判断连接数据库是否成功
  {
  echo "连接数据库失败!上一页<a href=install.php>上一页</a>";
  }else{
  mysql_query("CREATE DATABASE `$mysql_dbname`");  //  创建数据库
  mysql_select_db($mysql_dbname);
  $sql_query[]="CREATE TABLE  `$mysql_dbname`.`".$mysql_table."qqq` (
                    `id` INT( 10 ) NOT NULL AUTO_INCREMENT ,
                    `aaa` VARCHAR( 100 ) NOT NULL ,
                    `xxx` VARCHAR( 100 ) NOT NULL ,
                    PRIMARY KEY (  `id` )
                  ) ENGINE = INNODB";
  $sql_query[]="CREATE TABLE  `$mysql_dbname`.`".$mysql_table."ssss` (
                    `id` INT( 10 ) NOT NULL AUTO_INCREMENT ,
                    `aaa` VARCHAR( 100 ) NOT NULL ,
                    `xxx` VARCHAR( 100 ) NOT NULL ,
                    PRIMARY KEY (  `id` )
                  ) ENGINE = INNODB";   //  此次可以直接从自己的phpmyadmin里面生产提前
foreach($sql_query as $val)
{
mysql_query($val);
}
   echo "成功";
   rename("install.php","install.lock");   // 文件操作 给文件改名或者此时为了提高安全性 把install.php配置文件删除
  }
  }

?>

<hr />
<form action="" method="post">
主 机  名:<input type="text" name="localhost" /><br />
用  户 名:<input type="text" name="username" /><br />
密      码:<input type="text" name="password" /><br />
数据库名:<input type="text" name="mysql_db" /><br />
数据前缀:<input type="text" name="table" /><br />
<button type="submit" name="install">下一步</button>
</form>
</body>
</html>
执行之后会使config.php里面自动生产数据库信息
原创粉丝点击