install.php

只要填写数据库就可以把数据插入到数据库中,实现安装

<?php
header("Content-type:text/html;charset=utf-8"); //看你用的是什么编码,要保持一致。
$files="config.inc.php"; //要写入的配置文件。
if(!is_writable($files)){ //判断是否有可写的权限,linux操作系统要注意这一点,windows不必注意。
echo "<font color=red>文件不可写</font>";
exit();
}
if($_POST['install']){ //获取用户提交的数据。
$host=$_POST['host'];
$user=$_POST['user'];
$password=$_POST['password'];
$dbname=$_POST['dbname']; $config="<?php return array("; //$config的内容就是要写入配置文件的内容。
$config.="\n"; // /n是用来换行的。
$config.="'DB_TYPE'=>'mysql',";
$config.="\n";
$config.="'DB_HOST='>'".$host."',";
$config.="\n";
$config.="'DB_NAME'=>'".$dbname."',";
$config.="\n";
$config.="'DB_USER'=>'".$user."',";
$config.="\n";
$config.="'DB_PWD'=>'".$password."',";
$config.="\n";
$config.="'DB_PORT'=>'3306',";
$config.="\n";
$config.="'DB_PREFIX'=>'zz_',";
$config.="\n";
$config.="'SHOW_PAGE_TRACE' =>false,";
$config.="\n";
$config.=");?>"; $file = fopen($files, "w"); //以写入的方式打开config.php这个文件。
fwrite($file,$config); //将配置信息写入config.php文件。
fclose($file);
if(!$conn=@mysql_connect($host,$user,$password)){
echo '连接数据库失败!请返回上一页检查连接参数 <a href="javascript:history.go(-1)" mce_href="javascript:history.go(-1)"><font color=#ff0000>返回修改</font></a>';
exit();
}else{
mysql_query("set names utf8;"); //设置数据库的编码,注意要与前面一致。
if(!mysql_select_db($dbname,$conn)){ //如果数据库不存在,我们就进行创建。
//$dbsql="CREATE DATABASE `$dbname`";
$dbsql="CREATE DATABASE `$dbname` DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;";
if(!mysql_query($dbsql)){
echo '创建数据库失败,请确认是否有足够的权限!<a href="javascript:history.go(-1)" mce_href="javascript:history.go(-1)"><font color=#ff0000>返回修改</font></a>';
exit();
}
}
//下面根据你实际的表的结构跟初始化表的数据来写,这些sql语句,我们在导出时可以找到。 include_once("public/sql.php");
foreach($sql_query as $sql){
if(!mysql_query($sql)){ //依次执行以上的sql语句,就是创建表和初始化数据。
echo "<font color=red>已准备好安装,请刷新安装继续!!!!</font>";
exit();
} }
mysql_close();
echo "安装成功";//可以做一个跳转到首页。
exit();
}
} ?>
<html>
<head><title>php安装程序的基本原理</title></head>
<body>
<form action="install.php" method="post">
<br/>
<font color="blue">填写主机:</font><input type="text" name="host" value="localhost">本地主机为localhost<br />
<br/><font color="blue">连接数据库的用户名:</font><input type="text" name="user" value="root"><br />
<br/><font color="blue">连接数据库的密码:</font><input type="text" name="password" value="123456"><br />
<br/><font color="blue">要创建的数据库名:</font><input type="text" name="dbname" value="testinstall"><br />
<br/><input type="submit" name="install" value="安装">
</form>
</body>
</html>

php实现安装程序的 安装的更多相关文章

  1. Winform打包安装程序覆盖安装的实现

    1.修改项目程序集版本号. 2.设置Version,使当前版本号大于前一个版本号. 3.RemovePreviousVersions属性设置为true. 以上三步后,生成安装程序即可实现覆盖安装. P ...

  2. 【Inno Setup】 Inno Setup 64位安装程序默认安装路径

    在脚本中加入: ArchitecturesInstallIn64BitMode=x64 ArchitecturesAllowed=x64

  3. 解决msi文件在XP上安装未完成(提示安装程序被中断,未能安装app。需要重新启动该安装程序进行重试)的问题。

    如图所示,我利用Visual Studio 2015制作了一个小程序.基于.Net 4.0.用VS的Install扩展,新建Install项目进行打包.打包为.msi文件.该安装文件在已经安装了 .N ...

  4. Linux下通过源码编译安装程序

    本文简单的记录了下,在linux下如何通过源码安装程序,以及相关的知识.(大神勿喷^_^) 一.程序的组成部分 Linux下程序大都是由以下几部分组成: 二进制文件:也就是可以运行的程序文件 库文件: ...

  5. 转 : 用Delphi编写安装程序

    http://www.okbase.net/doc/details/931  还没有亲自验证过,仅收藏 当你完成一个应用软件的开发后,那么你还需要为该软件做一个规范化的安装程序,这是程序设计的最后一步 ...

  6. Window程序的安装与部署

    步骤: 1.新建项目—选择安装与部署—安装项目或使用安装向导,再这里我用的是安装向导 2.点击确定—下一步 3.点击下一步,选择主输出 4.点击下一步,添加文件 5.点击完成 设置: 右击安装项目 出 ...

  7. vb6.0安装程序制作图解教程

    如何制作vb安装程序,是在学习Vb6.0过程中比较常见的一个入门问题. 在此笔者介绍一个最简单的安装方法,就是用VB自带的打包程序进行打包,虽然比较普通,不过内部却有不少窍门,相信这一点知道的人可能不 ...

  8. 【转】C#程序打包安装部署之添加注册表项

    今天为大家整理了一些怎样去做程序安装包的具体文档,这些文档并不能确保每个人在做安装包的时候都能正确去生成和运行,但是这些文档的指导作用对于需要的朋友来说还是很有必要的,在实际产品的安装部署过程中可能有 ...

  9. c#自动更新+安装程序的制作 (转)

    c#自动更新+安装程序的制作 (转)  http://blog.csdn.net/myhuli120/article/details/6927588 一.自动更新的实现 让客户端实现自动更新,通常做法 ...

随机推荐

  1. python3条件表达式和字符串

    1.布尔表达式 布尔表达式的值只有两个:真和假.在python中,真值为1,假值为0 2.逻辑操作符 三种逻辑操作:and.or.not 3.条件语句 if. if...else.if...elif. ...

  2. python数据可视化、数据挖掘、机器学习、深度学习 常用库、IDE等

    一.可视化方法 条形图 饼图 箱线图(箱型图) 气泡图 直方图 核密度估计(KDE)图 线面图 网络图 散点图 树状图 小提琴图 方形图 三维图 二.交互式工具 Ipython.Ipython not ...

  3. Kotlin学习记录3

    参考我的博客:http://www.isedwardtang.com/2017/09/04/kotlin-primer-3/

  4. python入门三:文件操作

    一.文件操作 1.文件对象:和c一样,要想对一个文件进行操作,需要获取该文件的对象 f = open("xxx") # 打开文件并获取文件对象 f.xxx # 对文件进行某些操作 ...

  5. Nginx 自定义404、500错误页面跳转

    自定义Nginx错误界面跳转 1.开启Nginx.conf配置文件下的自定义接口参数. http { fastcgi_intercept_errors on; } 2.在Server区域添加自定义的错 ...

  6. QMesageBox的使用

    一.使用构造函数弹出对话框 1. QMessageBox msgBox://最简单的对话框,里面什么也没有 QString str = “test”: msgBox.setText(str); msg ...

  7. React Native实战系列教程之自定义原生UI组件和VideoView视频播放器开发

    React Native实战系列教程之自定义原生UI组件和VideoView视频播放器开发   2016/09/23 |  React Native技术文章 |  Sky丶清|  4 条评论 |  1 ...

  8. Python 文件操作综合案例

    # 案例 # 文件的复制 # 要求 # 将一个文件, 复制到另外一个副本中 # 步骤分析 # 1. # 只读模式, 打开要复制的文件 import os import shutil path = &q ...

  9. UVA 1640 The Counting Problem(按位dp)

    题意:给你整数a.b,问你[a,b]间每个数字分解成单个数字后,0.1.2.3.4.5.6.7.8.9,分别有多少个 题解:首先找到[0,b]与[0,a-1]进行区间减法,接着就只是求[0,x] 对于 ...

  10. 【Node.js】'readline' 逐行读取、写入文件内容

    [转]运用readline逐行读取的两种实现 效果图如下: 左边1.log 为源文件 右边1.readline.log为复制后的文件 下边为命令行输出 实现方式一: [javascript] view ...