版权声明:此篇文章只是用作笔记,如果版权冲突,请邮件通知一下(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\n";   
  $config_strings.="\$host=\"".$host."\";\n";   
  $config_strings.="\$user=\"".$user."\";\n";   
  $config_strings.="\$psw=\"".$psw."\";\n";   
  $config_strings.="\$db=\"".$db."\";\n";   
  $config_strings.="\$conn=mysql_connect(\$host,\$user,\$psw);\n";
  $config_strings.="mysql_select_db(\$db,\$conn);\n";   
  $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\n";   
  $config_strings.="\$host=\"".$host."\";\n";   
  $config_strings.="\$user=\"".$user."\";\n";   
  $config_strings.="\$psw=\"".$psw."\";\n";   
  $config_strings.="\$db=\"".$db."\";\n";   
  $config_strings.="\$conn=mysql_connect(\$host,\$user,\$psw);\n";
  $config_strings.="mysql_select_db(\$db,\$conn);\n";   
  $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 数据库。。

最新文章

  1. 如何让spring mvc web应用启动时就执行特定处理
  2. HTML5本地存储Localstorage
  3. jsp页面 如何通过el表达式获取request属性值
  4. jquery ajax(实现单独提交某个form)
  5. Bootstrap&lt;基础二&gt; 网格系统
  6. 为什么使用ConcurrentHashMap
  7. 导入charts开源库到工程里面
  8. Mini2440 LED驱动程序设计
  9. ADC 分辨率和精度的区别
  10. android 添加依赖的库文件
  11. nova读取配置文件流程
  12. KVC与KVO的理解
  13. MySQL的零碎知识点
  14. Cognos 图表用图片取代”没有数据显示”
  15. [js笔记整理]面向对象篇
  16. c++ --&gt; typedef用法总结
  17. Sharepoint 2010 工作流状态值
  18. Proxy源代码分析——谈谈如何学习Linux网络编程
  19. C++:线程(std::thread)
  20. React爬坑秘籍(一)——提升渲染性能

热门文章

  1. ajax 使用 与 缓存问题
  2. vue UI 框架
  3. POJ 2141 模拟
  4. 多重背包模板 51Nod 1086
  5. HDU——T 3746 Cyclic Nacklace
  6. JS-网页中分页栏
  7. android 自己定义View之SubmitView
  8. emacs 为什么找不到运行程序?
  9. 项目列表dl、dt、dd使用
  10. 41.C++多线程生产消费者模型