zoukankan      html  css  js  c++  java
  • 制作PHP安装程序的原理和步骤56

    制作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 .= " ";
    $config_str .= '$mysql_host = "' . $_POST[db_host] . '";';
    $config_str .= " ";
    $config_str .= '$mysql_user = "' . $_POST[db_user] . '";';
    $config_str .= " ";
    $config_str .= '$mysql_pass = "' . $_POST[db_pass] . '";';
    $config_str .= " ";
    $config_str .= '$mysql_dbname = "' . $_POST[db_dbname] . '";';
    $config_str .= " ";
    $config_str .= '$mysql_tag = "' . $_POST[db_tag] . '";';
    $config_str .= " ";
    $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_";
    ?>

  • 相关阅读:
    JVM笔记3-java内存区域之运行时常量池
    JVM笔记2-Java虚拟机内存管理简介
    JVM笔记1-内存溢出分析问题与解决
    ActiveMq笔记1-消息可靠性理论
    python基础学习16----模块
    python基础学习15----异常处理
    在windows下搭建汇编编程环境
    python基础学习14----正则表达式
    python基础学习13----生成器&迭代器
    python基础学习12----装饰器
  • 原文地址:https://www.cnblogs.com/smartyman/p/3799833.html
Copyright © 2011-2022 走看看