• php 如何写一个自己项目的安装程序


    版权声明:此篇文章只是用作笔记,如果版权冲突,请邮件通知一下(15201155501@163.com) https://blog.csdn.net/shenpengchao/article/details/56678266

    php的项目做完之后,一般都是预留出来配置文件,我们要做安装程序就是来操作这个配置文件,如果用到了数据库,就还要操作数据库,下面就说一下带有数据库的安装程序的写法

    1,检测目录和文件的权限:一直使用win的同学可能不注意这一点,因为在win上,目录的权限是比较模糊的,但是在Linux上,文件的权限是很重要的,所以在开发过程中,要记录好你项目中那些目录和文件是需要有写入权限的,哪些是要有可执行权限等等。而那些不需要写入权限的,最好就不要让他有写入权限,这样才会更安全。你可以用php的函数,判断一下你指定的文件或目录是否具有相应的权限,如果没有,给出提示让他从ftp或其他方式修改,或者是你用php的chmod()函数,将指定的文件修改为指定的权限。比如,你的程序如果有生成静态文件,或生成备份文件的。就要有写入权限。这个时候,一般情况下安装程序都是写在一个叫做install的目录下,一定要注意里面程序的路径问题,这里就要大家研究下了。


    2,修改配置文件:一般这个配置文件就是数据库的配置文件,当然有的时候也有一些你的程序的必要的配置文件,比如你有定义一个全局变量的值,需要在安装的时候就指定好,那就要在这里让安装者填写,这些需要的配置变量填写完,一定要进行验证是否正确填写,是否能配置成功,比如数据库的,就链接一下数据库,看能否正确链接,当全部验证通过,我们可以通过正则等,将配置文件修改为他填写好的对应的值。


    3,导入数据库:数据库导入有很多方法了,有的人习惯与用一些phpmyadmin的程序等,但有的情况下使用者可能只有一个账号而已,所以要写个数据库导入程序,这个程序其实很简单,我们可以讲我们的数据库清空一下可以清空的数据表,然后转存为sql文件,或者其他的文件(php文件,当然相应的导入程序要对应的来写了,这里以MySQL导出的sql文件这样的最简单为例),然后我们读取这个sql文件,执行里面的sql语句即可(可能有的时候要过滤一下里面的其他的东西,注释等),当然也可以写成其他的数据库导入程序,比如现在大部分导入程序为其专门写一个导入程序,都是可以的。


    4,建立初始用户:这个就容易理解了,无非就是建一个系统的初始超级管理员,这样就可以登录使用了。

    但是有的安装程序可能相对复杂,有了其他的要求,比如这个导医系统,我就做了两个安装程序工用户选中,一个是初始安装,就是第一次用的,一个是原来有一个.net写的导医系统,我就是把这个.net的改版了,并升级了一下。这样有的情况下,就要保留原有的.net数据转移到这个程序上,所以就要增加转入程序。

     

    install.php简单制作

    最近本博编写了一些源码,有夏日CMS文章管理系统、夏日PHP留言本、夏日PHP增删改查程序、夏日PHP投票系统等,这些都是为方便 PHP 新手朋友学习使用的,所以直接导出了 mysql 数据库,将其放在了根目录下,其实这样给初学者的体验度并不是很好,有许多 PHP 新手朋友都不知道如何进行导入 mysql 数据库,不得已,后来专门写了一篇关于“如何利用工具导入mysql数据库”的文章。

    如果我们使用过织梦等开源的PHP程序,就会感觉下载下来的源码使用很简单,因为有一个安装源码文件,通过这个源码,自动进行mysql数据库的导入和程序的配置安装,即使不懂PHP程序,安装使用起来也很简单,对于学习PHP来说,这是一个很有必要了解的一个功能,之前本博写过一个简单的安装程序,这里简要讲一下PHP安装程序的原理。

    下载下来的PHP源码,通常在根目录下会有一个 install.php 的文件,这个就是 PHP 源码的安装文件了,如果要安装 PHP 源码,通常都是通过“您的网址/install.php”路径进行安装,在安装过程中,会要求填写 mysql 用户名和密码等,按照要求填写正确即可以安装成功。

    其实我们可以在 install.php 的安装面板中可以了解到 PHP 程序安装的原理,通过 install.php 的文件,会要求我们填写 主机地址,mysql 用户名,mysql 密码,mysql 数据库,基本上都是这些,至于更复杂的,可能会要求一些可写文件什么的,我们先看一下最简单的原理,知道了在安装时要求填写的这些基本信息,那就不难想到,这些无非就是 要生成一个配置 config.php 类似的文件,通过这个 config.php 配置文件,就可以连接 mysql 数据库,然后通过 PHP SQL 语句将其 填写的 mysql 表新建出来,这个最简单的 install.php 安装小程序就制作出来了。

    下面看一个 install.php 安装文件的简单制作源码:

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    <html xmlns="http://www.w3.org/1999/xhtml">  
    <head>  
    <meta http-equiv="Content-Type"content="text/html; charset=utf-8"/>
    <title>php安装小程序</title>  
    </head>  
    <body>  
    <?php  
     if($_GET['action']!=1)  
     {  
    ?>  
     <form action="install.php?action=1"method="post">  
        主机地址:<input type="text"name="host"value="localhost"><br>  
        用户名:<input type="text"name="user"value="root"><br>  
        密码:<input type="password"name="psw"value=""><br>  
        新建表名<input type="text"name="db"value="blog"><br>  
        提交<input type="submit"name="sub"value="提交"/>  
        </form>  
    <?php  
     }  
     else 
     {  
      $lockfile= "install.lock";   
      if($_POST['host']!=""&& $_POST['user']!=""&& $_POST['ps
    w']!="" && $_POST['db']!="")  
      {  
       $host=$_POST['host'];   
       $user=$_POST['user'];  
       $psw=$_POST['psw'];  
       $db=$_POST['db'];   
      }  
      if(file_exists($lockfile)){   
      exit("已经安装过了,如果要重新安装请先删除install.lock");   
      }  
      $conn=mysql_connect($host,$user,$psw);  
      if($conn)  
      {  
       $sql_drop_db="Drop DATABASE IF EXISTS `".$db."`";   
       $sql_create_db="Create DATABASE `".$db."`";   
       $sql_create_table_blog="Create TABLE  `blog`.`blog` ( 
    `id` INT( 4 ) NOT NULL AUTO_INCREMENT , 
    `con` VARCHAR( 50 ) CHARACTER SET utf8 COLLATE utf8_gener
    al_ci NOT NULL , 
    PRIMARY KEY (  `id` ) 
    ) ENGINE = MYISAM";  
      }  
      mysql_query($sql_drop_db,$conn);  
      mysql_query($sql_create_db,$conn);  
      mysql_query($sql_create_table_blog,$conn);  
          
      $config_file="config.php";   
      $config_strings="<?php ";   
      $config_strings.="$host="".$host.""; ";   
      $config_strings.="$user="".$user.""; ";   
      $config_strings.="$psw="".$psw.""; ";   
      $config_strings.="$db="".$db.""; ";   
      $config_strings.="$conn=mysql_connect($host,$user,$psw); ";
      $config_strings.="mysql_select_db($db,$conn); ";   
      $config_strings.="?>";   
          
      $fp=fopen($config_file,"wb");  
      fwrite($fp,$config_strings);  
      fclose($fp);  
      $fp2= fopen($lockfile,'w');  
      fwrite($fp2,'1212');   
      fclose($fp2);  
     }  
    ?>  
    </body>  
    </html> 

    小说明:对于一些大型的PHP源码,最核心的原理基本上也是这些了,对于 PHP 初学者来说,没必要去了解那么复杂的PHP安装程序,先把 PHP 源码的简单安装文件制作掌握了,那些复杂的就不难了,通过运行上面的程序,会自动生成 PHP 的配置文件 config.php ,这是与 mysql 数据库通信的文件,还会生成一个 install.lock 文件,这是判断是否已经成功安装的文件,还会在 mysql 数据库当中新建一个你手动填加的 mysql 数据库。。


    版权声明:此篇文章只是用作笔记,如果版权冲突,请邮件通知一下(15201155501@163.com) https://blog.csdn.net/shenpengchao/article/details/56678266

    php的项目做完之后,一般都是预留出来配置文件,我们要做安装程序就是来操作这个配置文件,如果用到了数据库,就还要操作数据库,下面就说一下带有数据库的安装程序的写法

    1,检测目录和文件的权限:一直使用win的同学可能不注意这一点,因为在win上,目录的权限是比较模糊的,但是在Linux上,文件的权限是很重要的,所以在开发过程中,要记录好你项目中那些目录和文件是需要有写入权限的,哪些是要有可执行权限等等。而那些不需要写入权限的,最好就不要让他有写入权限,这样才会更安全。你可以用php的函数,判断一下你指定的文件或目录是否具有相应的权限,如果没有,给出提示让他从ftp或其他方式修改,或者是你用php的chmod()函数,将指定的文件修改为指定的权限。比如,你的程序如果有生成静态文件,或生成备份文件的。就要有写入权限。这个时候,一般情况下安装程序都是写在一个叫做install的目录下,一定要注意里面程序的路径问题,这里就要大家研究下了。


    2,修改配置文件:一般这个配置文件就是数据库的配置文件,当然有的时候也有一些你的程序的必要的配置文件,比如你有定义一个全局变量的值,需要在安装的时候就指定好,那就要在这里让安装者填写,这些需要的配置变量填写完,一定要进行验证是否正确填写,是否能配置成功,比如数据库的,就链接一下数据库,看能否正确链接,当全部验证通过,我们可以通过正则等,将配置文件修改为他填写好的对应的值。


    3,导入数据库:数据库导入有很多方法了,有的人习惯与用一些phpmyadmin的程序等,但有的情况下使用者可能只有一个账号而已,所以要写个数据库导入程序,这个程序其实很简单,我们可以讲我们的数据库清空一下可以清空的数据表,然后转存为sql文件,或者其他的文件(php文件,当然相应的导入程序要对应的来写了,这里以MySQL导出的sql文件这样的最简单为例),然后我们读取这个sql文件,执行里面的sql语句即可(可能有的时候要过滤一下里面的其他的东西,注释等),当然也可以写成其他的数据库导入程序,比如现在大部分导入程序为其专门写一个导入程序,都是可以的。


    4,建立初始用户:这个就容易理解了,无非就是建一个系统的初始超级管理员,这样就可以登录使用了。

    但是有的安装程序可能相对复杂,有了其他的要求,比如这个导医系统,我就做了两个安装程序工用户选中,一个是初始安装,就是第一次用的,一个是原来有一个.net写的导医系统,我就是把这个.net的改版了,并升级了一下。这样有的情况下,就要保留原有的.net数据转移到这个程序上,所以就要增加转入程序。

     

    install.php简单制作

    最近本博编写了一些源码,有夏日CMS文章管理系统、夏日PHP留言本、夏日PHP增删改查程序、夏日PHP投票系统等,这些都是为方便 PHP 新手朋友学习使用的,所以直接导出了 mysql 数据库,将其放在了根目录下,其实这样给初学者的体验度并不是很好,有许多 PHP 新手朋友都不知道如何进行导入 mysql 数据库,不得已,后来专门写了一篇关于“如何利用工具导入mysql数据库”的文章。

    如果我们使用过织梦等开源的PHP程序,就会感觉下载下来的源码使用很简单,因为有一个安装源码文件,通过这个源码,自动进行mysql数据库的导入和程序的配置安装,即使不懂PHP程序,安装使用起来也很简单,对于学习PHP来说,这是一个很有必要了解的一个功能,之前本博写过一个简单的安装程序,这里简要讲一下PHP安装程序的原理。

    下载下来的PHP源码,通常在根目录下会有一个 install.php 的文件,这个就是 PHP 源码的安装文件了,如果要安装 PHP 源码,通常都是通过“您的网址/install.php”路径进行安装,在安装过程中,会要求填写 mysql 用户名和密码等,按照要求填写正确即可以安装成功。

    其实我们可以在 install.php 的安装面板中可以了解到 PHP 程序安装的原理,通过 install.php 的文件,会要求我们填写 主机地址,mysql 用户名,mysql 密码,mysql 数据库,基本上都是这些,至于更复杂的,可能会要求一些可写文件什么的,我们先看一下最简单的原理,知道了在安装时要求填写的这些基本信息,那就不难想到,这些无非就是 要生成一个配置 config.php 类似的文件,通过这个 config.php 配置文件,就可以连接 mysql 数据库,然后通过 PHP SQL 语句将其 填写的 mysql 表新建出来,这个最简单的 install.php 安装小程序就制作出来了。

    下面看一个 install.php 安装文件的简单制作源码:

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    <html xmlns="http://www.w3.org/1999/xhtml">  
    <head>  
    <meta http-equiv="Content-Type"content="text/html; charset=utf-8"/>
    <title>php安装小程序</title>  
    </head>  
    <body>  
    <?php  
     if($_GET['action']!=1)  
     {  
    ?>  
     <form action="install.php?action=1"method="post">  
        主机地址:<input type="text"name="host"value="localhost"><br>  
        用户名:<input type="text"name="user"value="root"><br>  
        密码:<input type="password"name="psw"value=""><br>  
        新建表名<input type="text"name="db"value="blog"><br>  
        提交<input type="submit"name="sub"value="提交"/>  
        </form>  
    <?php  
     }  
     else 
     {  
      $lockfile= "install.lock";   
      if($_POST['host']!=""&& $_POST['user']!=""&& $_POST['ps
    w']!="" && $_POST['db']!="")  
      {  
       $host=$_POST['host'];   
       $user=$_POST['user'];  
       $psw=$_POST['psw'];  
       $db=$_POST['db'];   
      }  
      if(file_exists($lockfile)){   
      exit("已经安装过了,如果要重新安装请先删除install.lock");   
      }  
      $conn=mysql_connect($host,$user,$psw);  
      if($conn)  
      {  
       $sql_drop_db="Drop DATABASE IF EXISTS `".$db."`";   
       $sql_create_db="Create DATABASE `".$db."`";   
       $sql_create_table_blog="Create TABLE  `blog`.`blog` ( 
    `id` INT( 4 ) NOT NULL AUTO_INCREMENT , 
    `con` VARCHAR( 50 ) CHARACTER SET utf8 COLLATE utf8_gener
    al_ci NOT NULL , 
    PRIMARY KEY (  `id` ) 
    ) ENGINE = MYISAM";  
      }  
      mysql_query($sql_drop_db,$conn);  
      mysql_query($sql_create_db,$conn);  
      mysql_query($sql_create_table_blog,$conn);  
          
      $config_file="config.php";   
      $config_strings="<?php ";   
      $config_strings.="$host="".$host.""; ";   
      $config_strings.="$user="".$user.""; ";   
      $config_strings.="$psw="".$psw.""; ";   
      $config_strings.="$db="".$db.""; ";   
      $config_strings.="$conn=mysql_connect($host,$user,$psw); ";
      $config_strings.="mysql_select_db($db,$conn); ";   
      $config_strings.="?>";   
          
      $fp=fopen($config_file,"wb");  
      fwrite($fp,$config_strings);  
      fclose($fp);  
      $fp2= fopen($lockfile,'w');  
      fwrite($fp2,'1212');   
      fclose($fp2);  
     }  
    ?>  
    </body>  
    </html> 

    小说明:对于一些大型的PHP源码,最核心的原理基本上也是这些了,对于 PHP 初学者来说,没必要去了解那么复杂的PHP安装程序,先把 PHP 源码的简单安装文件制作掌握了,那些复杂的就不难了,通过运行上面的程序,会自动生成 PHP 的配置文件 config.php ,这是与 mysql 数据库通信的文件,还会生成一个 install.lock 文件,这是判断是否已经成功安装的文件,还会在 mysql 数据库当中新建一个你手动填加的 mysql 数据库。。


  • 相关阅读:
    转载: JS 中 new 操作符
    转载: js的值,对象,原型
    php setcookie(name, value, expires, path, domain, secure) 参数详解
    转载:js数组对象操作
    转载: js数组与 json 的区别
    转载: js的Prototype属性 解释及常用方法
    行人检测程序对接景区测试人数比对数据库切换时间不准确排查
    TSINGSEE青犀视频行人检测集成票务系统读取票务系统数据库为空的问题
    EasyWasmPlayer播放视频报错Uncaught (in promise)DOMException
    名胜景区部署TSINGSEE青犀视频监控具备哪些现实意义?
  • 原文地址:https://www.cnblogs.com/applelife/p/10494426.html
Copyright © 2020-2023  润新知