制作PHP安装程序的原理和步骤学习笔记

一、

1.检查目录或文件的权限

2.修改或添加配置文件

3.检查配置文件的正确性

4.导入数据库

5.锁定或删除安装文件

原理:

其实php程序的安装原理就是将数据库结构内容导入到相应的数据库中,从这个过程中重新分配连接数据库的参数和文件,为了保证不被别人恶意用安装文件,当安装完成后需要修改安装文件。

二、制作安装用到的php函数

is_writable("data/config.php");

is_writable() 检查文件是否可写,用来判断文件,同类函数还有is_readable()检查文件是否可读,返回布尔值。

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

fwrite()文件操作函数,写入内容到文件。

rename()文件操作函数,给文件改名。

三、制作安装的注意事项

1.对文件权限进行检查和相关文件夹,如缓存、生成文件、配置文件。

2.安装文件尽可能的独立,可删除、可改名。

3.数据库导入是,需检查:

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

b.是否同名数据库的存在

c.考虑到数据库的导入的大小是否分段处理

四、检查配置环境,各种模块的支持情况,如:gdz,pdo,rewrite。

 

制作实例:

<?php
$file="config.php";
if (!is_writable($file))
{
echo "<font color=red>不可写</font>";
}
else
{ echo "<strong><font color=green>可写</font></strong>";
}
if (isset($_POST[install]))

{  $config_str="<?php";
   $config_str.="/n";//这是换行符
   $config_str.='$hostname="'.$_POST[hostname].'";';
   $config_str.="/n";//这是换行符
   $config_str.='$dbuser="'.$_POST[dbuser].'";';
   $config_str.="/n";//这是换行符
   $config_str.='$dbpasswd="'.$_POST[dbpasswd].'";';
   $config_str.="/n";
   $config_str.='$dbname="'.$_POST[dbname].'";';
   $config_str.="/n";
   $config_str.='$dbprefix="'.$_POST[dbprefix].'";';//数据库前缀
   $config_str.="/n";
   $config_str.="?>";
   $f_open=fopen($file,"w+");
   fwrite($f_open ,$config_str);

   include_once("config.php");
  if (! @$link=mysql_connect($hostname,$dbuser,$dbpasswd))
 {
   echo "数据库连接失败!<a href='install.php'>返回</a>";
  }
  else
  { echo "连接成功!";
  $DATABASESQL="DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci";
    mysql_query("create database `$dbname`".$DATABASESQL);
 mysql_query("set names utf8");
    mysql_select_db($dbname);

    $sql[]="create table  `".$dbprefix."table1`

    (`id` int(8) unsigned not null auto_increment,
      `username` varchar(40) not null comment '操作用户名称',
      primary key(`id`))DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;";

   $sql[]="create table  `".$dbprefix."table2`

    (`id` int(8) unsigned not null auto_increment,

      `username` varchar(40) not null comment '操作用户名称',
       primary key(`id`))DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;";

   

    foreach($sql as $val){ mysql_query($val);
                           echo "<strong><font color=green>恭喜您,安装成功!</font></strong>";
                           rename("install.php","install.lock"); }
                                                              
 }
}

?>

 <form action="" method="post">

主机:<input type="text" name="hostname" value="127.0.0.1"><br>

用户名:<input type="text" name="dbuser" value="root"><br>

密码:<input type="text" name="dbpasswd" value=""><br>

数据库名:<input type="text" name="dbname" value="mydb"><br>

表前缀:<input type="text" name="dbprefix" value="king_"><br>

<button type="submit"  name="install" >安装</button>

 

</form>

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值