【分享】PHP制作安装程序的原理与步骤详细讲解

本文讲解PHP制作安装程序的原理与步骤
1、制作PHP安装程序的原理
        PHP程序的安装原理就是将数据库结构和内容导入到相应的数据库中,从这个过程中重新配置连接数据库的参数和文件,为了保证不被别人恶意使用安装文件,当安装完成后需要修改安装文件。
2、制作PHP安装程序的步骤
        step1 检查目录或文件的权限
        step2 修改或填加配置文件
        step3 检查配置文件正确性
        step4 导入数据库
        step5 锁定或删除安装文件
3、制作安装用到的PHP函数
        检查文件是否可写,返回布尔值:is_writable("data/config.php");
        检查文件是否可读,返回布尔值:is_readable("data/config.php");
        fopen() 文件操作函数,打开一个文件或新建
        fwrite() 文件操作函数,写入内容到文件
        rename() 文件操作函数,给文件改名
4、注意事项
        (1).对文件和相关文件夹权限进行检查,如缓存,生成文件,配置文件
        (2).安装文件尽可能独立,可删除,可改名。
        (3).数据库导入时,需检查:
                a.检查是否有建立数据库的权限
                b.是否同名数据库的存在
                c.考虑到数据库导入的大小是否分段处理
         (4).检查配置环境,各种模块的支持情况,如:gd2, pdo,rewirte等
5、实例代码
  1.  
         
    <? 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 " );
    }
    }
    ?>
    < 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 >
希望本文能对你有所收获。
本文引用地址:http://www.2cto.com/kf/201009/73584.html

转载于:https://www.cnblogs.com/c3055/articles/2101507.html

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值