制作PHP安装程序的原理和步骤56

1、制作PHP安装程序的原理和步骤
检查目录或文件的权限----修改或填加配置文件---检查配置文件正

确性---导入数据库----锁定或删除安装文件

原理:

其实PHP程序的安装原理无非就是将数据库结构和
内容导入到

相应的数据库中,从这个过程中重新配置
连接数据库的参数和文件,为

了保证不被别人恶意使用安装文件,当安装完成后需要修改安装文件


2制作安装用到的PHP函数
is_writable(“data/config.php”);
is_writable() 检查文件是否可写,用来判断文件权限,同类函数还有

is_readable() 检查文件是否可读,返回布尔值

fopen () 文件操作函数,打开一个文件或新建fwrite () 文件操作函数

,写入内容到文件rename() 文件操作函数,给文件改名

3、制作安装的注意事项
对文件权限进行检查和相关文件夹,如缓存,生成文件,配置文件
安装文件尽可能独立,可删除,可改名。
数据库导入时,需检查:

a、检查是否有建立数据库的权限

b、是否同名数据库的存在
c、考虑到数据库导入的大小是否分段处理
检查配置环境,各种模块的支持情况,如:gd2, pdo,rewirte等

install.php
--------------------------------------------------------------------

------------------------------
<?php

$files="data/config.php";

if(!is_writable($files)){
echo "<font color=red>不可写!!!</font>";
}else{
echo "<font color=green>可写</font>";
}

if(isset($_POST[install])){

$config_str = "<?php";
$config_str .= "\n";
$config_str .= '$mysql_host = "' . $_POST[db_host] . '";';
$config_str .= "\n";
$config_str .= '$mysql_user = "' . $_POST[db_user] . '";';
$config_str .= "\n";
$config_str .= '$mysql_pass = "' . $_POST[db_pass] . '";';
$config_str .= "\n";
$config_str .= '$mysql_dbname = "' . $_POST[db_dbname] . '";';
$config_str .= "\n";
$config_str .= '$mysql_tag = "' . $_POST[db_tag] . '";';
$config_str .= "\n";
$config_str .= '?>';

$ff = fopen($files, "w+");
fwrite($ff, $config_str);

//=====================
include_once ("data/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_tag . "admin_log1` (
`id` int(8) unsigned NOT NULL auto_increment,
`username` varchar(40) NOT NULL COMMENT '操作用户名称',
`types` varchar(60) NOT NULL,
PRIMARY KEY (`id`)
) ;";
$sql_query[] = "CREATE TABLE `" . $mysql_tag . "admin_log2` (
`id` int(8) unsigned NOT NULL auto_increment,
`username` varchar(40) NOT NULL COMMENT '操作用户名称',
`types` varchar(60) NOT NULL,
PRIMARY KEY (`id`)
) ;";
$sql_query[] = "CREATE TABLE `" . $mysql_tag . "admin_log3` (
`id` int(8) unsigned NOT NULL auto_increment,
`username` varchar(40) NOT NULL COMMENT '操作用户名称',
`types` varchar(60) NOT NULL,
PRIMARY KEY (`id`)
) ;";
foreach($sql_query as $val){
mysql_query($val);
}
echo "<script>alert('安装成

功!');location.href='index.php'</script>";
rename("install.php","install.lock");

}

}

?>

<LINK href="common.css" type=text/css rel=stylesheet>
<hr size=1>
<form action="" method="POST">
填写主机:<input type="text" name="db_host"

value=""/><br>
用 户 名:<input type="text" name="db_user"

value="root"/><br>
密  码:<input type="text" name="db_pass"

value=""/><br>
数据库名:<input type="text" name="db_dbname"

value="php100_db"/><br>
数据前缀:<input type="text" name="db_tag"

value="p_"/><br>
<button type=submit name=install>下一步</button>
</form>

config.php
--------------------------------------------------------------------

------------------------------
<?php
$mysql_host = "localhost";
$mysql_user = "root";
$mysql_pass = "";
$mysql_dbname = "new_php100";
$mysql_tag = "new_";
?>

制作PHP安装程序的原理和步骤56的更多相关文章

  1. C#制作自定义安装程序

    (一),安装程序 以前用vs制作过安装程序,现在把步骤写出来,有帮助的大家一定要顶哦 第一步:建立工程 1.打开vs,新建项目->其他项目类型->安装和部署(這個子项下面有安装项目和Web ...

  2. PHP网站安装程序的原理及代码

    原文:PHP网站安装程序的原理及代码 原理: 其实PHP程序的安装原理无非就是将数据库结构和内容导入到相应的数据库中,从这个过程中重新配置连接数据库的参数和文件,为了保证不被别人恶意使用安装文件,当安 ...

  3. 制作Java安装程序

    这个工具利用 ANT 来制作在 Windows, MacOS X, Unix 平台上可执行的文件,比如 exe,zip,jar.ROXES ANT Tasks 基于 GPL 发布. http://ww ...

  4. C# 批处理制作静默安装程序包

    使用批处理+WinRAR制作静默安装程序包 @echo 安装完窗口会自动关闭!!! @echo off start /wait Lync.exe /Install /Silent start /wai ...

  5. 怎样制作C#安装程序

    近期须要制作一个C#安装.在网上找了一些资料发现都不是非常完整,最后自己综合了一些资料,而且通过亲自检測,最后成功完毕C#打包成安装程序(打包成最简单的一种安装程序.假设须要更高的功能请自己在开发). ...

  6. 制作web安装程序

    出处:http://www/i-blog.cn/u/chenli/archives/2006/8.html 本文参考http://blog.csdn.net/libra1983/archive/200 ...

  7. C# winform 安装程序打包(自定义操作)

    (一),安装程序 以前用vs制作过安装程序,现在把步骤写出来,有帮助的大家一定要顶哦 第一步:建立工程1.打开vs,新建项目->其他项目类型->安装和部署(這個子项下面有安装项目和Web安 ...

  8. 【转】C# winform 安装程序打包(自定义操作)

    (一),安装程序 以前用vs制作过安装程序,现在把步骤写出来,有帮助的大家一定要顶哦 第一步:建立工程1.打开vs,新建项目->其他项目类型->安装和部署(這個子项下面有安装项目和Web安 ...

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

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

随机推荐

  1. oracle触发器使用总结

    1.说明 1)触发器是一种特殊的存储过程,触发器一般由事件触发并且不能接受参数,存储器由语句块去调用 2)触发器分类: 1.DML触发器: 创建在表上,由DML事件引发 2.instead of触发器 ...

  2. HDOJ(HDU) 1977 Consecutive sum II(推导、、)

    Problem Description Consecutive sum come again. Are you ready? Go ~~ 1 = 0 + 1 2+3+4 = 1 + 8 5+6+7+8 ...

  3. 【5】JAVA---地址App小软件(DeletePanel.class)(表现层)

    删除地址的表现层类. 如果没有选中要删除的地址信息,会出现窗口提示: 删除地址界面:(无法修改数据,只能看) /* * DeletePanel.java * */ package cn.hncu.ad ...

  4. HDOJ 2089 不要62(打表)

    Problem Description 杭州人称那些傻乎乎粘嗒嗒的人为62(音:laoer). 杭州交通管理局经常会扩充一些的士车牌照,新近出来一个好消息,以后上牌照,不再含有不吉利的数字了,这样一来 ...

  5. 关于C#中Thread.Join()的一点理解

    原文地址:http://www.cnblogs.com/slikyn/articles/1525940.html 今天是第一次在C#中接触Thread,自己研究了一下其中Thread.Join()这个 ...

  6. [Java] JVM 在执行 main 方法前的行为

    JVM 执行一个 Java 程序时,先从某个指定的 Java 类的 main 方法开始执行代码,同时,传一个字符串数组作为 main 方法的参数.例如在 Unix 系统上,执行下面的命令 java T ...

  7. SSLStrip 的未来 —— HTTPS 前端劫持

    前言 在之前介绍的流量劫持文章里,曾提到一种『HTTPS 向下降级』的方案 —— 将页面中的 HTTPS 超链接全都替换成 HTTP 版本,让用户始终以明文的形式进行通信. 看到这,也许大家都会想到一 ...

  8. L - Kakuro Extension - HDU 3338 - (最大流)

    题意:有一个填数字的游戏,需要你为白色的块内填一些值,不过不能随意填的,是有一些规则的(废话),在空白的上方和作方给出一些值,如果左下角有值说明下面列的和等于这个值,右上角的值等于这行后面的数的和,如 ...

  9. [置顶] 自己写代码生成器之生成Dal层代码(获取数据库所有表名称)

    自己写代码生成器之生成Dal层代码(获取数据库所有表名称) --得到数据库birthday所有表名称 select name from sysobjects where [type]='U' --se ...

  10. foreach as 和 in_array

    1.$arr = array("one", "two", "three"); foreach ($arr as $value) { echo ...