php实现安装程序的 安装
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实现安装程序的 安装的更多相关文章
- Winform打包安装程序覆盖安装的实现
1.修改项目程序集版本号. 2.设置Version,使当前版本号大于前一个版本号. 3.RemovePreviousVersions属性设置为true. 以上三步后,生成安装程序即可实现覆盖安装. P ...
- 【Inno Setup】 Inno Setup 64位安装程序默认安装路径
在脚本中加入: ArchitecturesInstallIn64BitMode=x64 ArchitecturesAllowed=x64
- 解决msi文件在XP上安装未完成(提示安装程序被中断,未能安装app。需要重新启动该安装程序进行重试)的问题。
如图所示,我利用Visual Studio 2015制作了一个小程序.基于.Net 4.0.用VS的Install扩展,新建Install项目进行打包.打包为.msi文件.该安装文件在已经安装了 .N ...
- Linux下通过源码编译安装程序
本文简单的记录了下,在linux下如何通过源码安装程序,以及相关的知识.(大神勿喷^_^) 一.程序的组成部分 Linux下程序大都是由以下几部分组成: 二进制文件:也就是可以运行的程序文件 库文件: ...
- 转 : 用Delphi编写安装程序
http://www.okbase.net/doc/details/931 还没有亲自验证过,仅收藏 当你完成一个应用软件的开发后,那么你还需要为该软件做一个规范化的安装程序,这是程序设计的最后一步 ...
- Window程序的安装与部署
步骤: 1.新建项目—选择安装与部署—安装项目或使用安装向导,再这里我用的是安装向导 2.点击确定—下一步 3.点击下一步,选择主输出 4.点击下一步,添加文件 5.点击完成 设置: 右击安装项目 出 ...
- vb6.0安装程序制作图解教程
如何制作vb安装程序,是在学习Vb6.0过程中比较常见的一个入门问题. 在此笔者介绍一个最简单的安装方法,就是用VB自带的打包程序进行打包,虽然比较普通,不过内部却有不少窍门,相信这一点知道的人可能不 ...
- 【转】C#程序打包安装部署之添加注册表项
今天为大家整理了一些怎样去做程序安装包的具体文档,这些文档并不能确保每个人在做安装包的时候都能正确去生成和运行,但是这些文档的指导作用对于需要的朋友来说还是很有必要的,在实际产品的安装部署过程中可能有 ...
- c#自动更新+安装程序的制作 (转)
c#自动更新+安装程序的制作 (转) http://blog.csdn.net/myhuli120/article/details/6927588 一.自动更新的实现 让客户端实现自动更新,通常做法 ...
随机推荐
- Python-Cpython解释器支持的进程与线程
一.Python并发编程之多进程 1. multiprocessing模块介绍 python中的多线程无法利用多核优势,如果想要充分地使用多核CPU的资源(os.cpu_count()查看),在pyt ...
- Java集合(3):Vector && Stack
一.Vector介绍 Vector可以实现可增长的动态对象数组.与数组一样,它包含可以使用整数索引进行访问的组件.不过,Vector的大小是可以增加或者减小的,以便适应创建Vector后进行添加或者删 ...
- MAC 终端颜色设置
在bash中,可以通过更改PS1环境变量的值来设置提示行.通常的提示符颜色单调,用户可以通过在PS1中添加颜色代码序列来设置提示符中不同信息以不同颜色显示. 添加颜色相当容易:第一步是设计不带颜色的提 ...
- Servlet Rest
http://www.blogjava.net/yongboy/archive/2010/10/01/333609.html
- spring配置中classpath: 与classpath*:的区别
classpath和classpath*区别: classpath:只会到你的class路径中查找找文件. classpath*:不仅包含class路径,还包括jar文件中(class路径)进行查找 ...
- CSS3:布局display属性的flex(弹性布局)
CSS3:布局display属性的flex(弹性布局) 一.简介 Flex是Flexible Box的缩写,意为"弹性布局",用来为盒状模型提供最大的灵活性.设为Flex布局以后, ...
- Apahce 加载模块说明
LoadModule auth_basic_module modules/mod_auth_basic.so #基本认证模块 LoadModule auth_digest_module modules ...
- shell 中的 eval 及 crontab 命令
eval eval会对后面的命令进行两遍扫描,如果第一遍扫描后,命令是个普通命令,则执行此命令:如果命令中含有变量的间接引用,则保证间接引用的语义.也就是说,eval命令将会首先扫描命令行进行所有的置 ...
- 利用MacBookPro入侵无线网络
目前无线网络的加密方式主要有WEP,WPA/WPA2.这是最常看到的加密方式,最近由于需要,专门去研究了一下如何入侵无线网络. 1.入侵WEP加密的无线网络 WEP加密方式现在已经很不安全了,因为只要 ...
- iOS开发小结 - 让你的APP后台运行
最近项目有个需求需要让app在后台一直运行计时着,找了一些资料,只能用比较无耻的做法了,播放一段没有声音的音频文件,这样你的APP就不会被系统杀掉~~ 我们只需要用到<AVFoundation/ ...