//

Information for details

PHP开发软件系统的安装过程

我们经常在一些php开发的开源软件产品上看到,使用之前必须要安装,说白了就是要连接数据库,生成数据表。下面我们来介绍安装程序是如何实现的。

安装第一步:检测系统是否已经安装过,并且显示用户的安装协议

<?Php

//安装第一步到达首页,检测该系统是否已经安装过,检测 install 文件。

//file_exists这个函数是检测文件是否存在,如果存在返回true,如果不正在返回false

//路径确定的话是已当前访问文件的路径为准,以服务器端路径为路径来去定

if(file_exists('install.lock')){

        exit('你已经安装过了本系统,请不再再重新安装,如果确定要重新安装,请删除install.lock文件');

}

?>
<a href="step1.php">同意协议</a>

安装第二步:检测文件的可读性与可写性
<?php

//检测文件是否可写

//把需要检测的文件和目录放入到一个数组里面来,循环这个数组即可 foreach

//通过 filewriteable readable 这样一些函数来检测是否有权限


$arr=array('index.php','step1.php','step2.php','step3.php');

//标志位变量,如果这个变量为真,就可以执行下一步,如果为假就不能够显示下一步
$flag=true;
foreach($arr as $value){

        echo $value;

        if(is_writeable($value)){

                echo '该文件可写';
        }else{

                $flag=false;
                echo '该文件不可写';
        }

        if(is_readable($value)){

                echo '该文件可读';
        }else{

                $flag=false;
                echo '该文件不可读';
        }
}
        if($flag){
                //如果通过检测可以进行下一步
                echo '<a href="step3.php">下一步</a>';
        }else{
                //如果$flag 不通过 则为假 ,输出警告
                echo '文件有些无权限,请修改权限后再来安装';
        }
?>

第三步:输出当前数据库的连接信息,提供让用户修改的表单

<?php

//将当前的数据库连接信息,显示出来,通过一个表单来修改即可

//这个config.php也可以放到include/config.php

include 'config.php';

?>

<form action="step4.php" method="post">

        数据库主机:<input type="text" name="DB_HOST" value="<?php echo DB_HOST?>" /><br>
        数据库用户名:<input type="text" name="DB_USER" value="<?php echo DB_USER?>" /><br>
        数据库密码:<input type="text" name="DB_PWD" value="<?php echo DB_PWD?>" /><br>
        数据库前缀:<input type="text" name="DB_PREFIX" value="<?php echo DB_PREFIX?>" /><br>
        数据库库名:<input type="text" name="DB_NAME" value="<?php echo DB_NAME?>" /><br>

        <input type="submit" value="修改数据配置文件" />
</form>
第四步:获得用户提交过来的表单的所有的信息,使用正则表达式来匹配替换文件 <?php
//打开文件,将内容全部获得为字符串
$string=file_get_contents('config.php');
//循环遍历表单接收的内容
foreach($_POST as $key=>$value){

        //正则
        $zz="/define\('".$key."','(.*?)'\);/";

        //替换
        $th="define('$key','$value');";

        $string=preg_replace($zz,$th,$string);
}

file_put_contents('config.php',$string);

?>

<a href="step5.php">下一步</a>
 第五步:导入表数据 <?php

include 'config.php';

$conn=mysql_connect(DB_HOST,DB_USER,DB_PWD);

if(mysql_errno()){

        exit(mysql_error());
}

mysql_select_db(DB_NAME);

mysql_set_charset('utf8');

$file=file_get_contents('runchance.sql'); //获得sql 导入表中的所有的信息,使用正则替换

//替换函数

$file=str_replace('run_',DB_PREFIX,$file);

$arr=explode(';',$file);   //用;分割所有的sql 语句,然后循环执行


foreach($arr as $value){

        mysql_query($value);

        echo '表导入成功<br>';
}

file_put_contents('install.lock',' ');  //安装完成后输出一个文件锁防止用户再次安装

echo '恭喜你安装完成,请使用管理员admin 密码admin123456登陆本网站';

?>

然成科技是获得云南省科技厅、省财政厅、省税务局等机构认定的高新技术企业。公司定位于高端网站设计、系统开发、APP开发、微信公众号、微信小程序开发。拥有多个软著权!

  • 滇公网安备 53010202001388号