阅览某项目代码的安装判断逻辑,他的实现思路是下面这样的
在进入index.php的时候进行判断
if(!defined('SYSDIR')) header('Location: ./install/');
在安装页面中导入完数据库后,写入文件config/config.php,数据库配置信息和几个define函数,这样上面的判断就能获取到了
// write config file last off in case installation fails $configfile="<?php if(!defined('ROOT')) die('Access denied.'); \$servername = '$servername'; \$dbname = '$dbname'; \$dbusername = '$dbusername'; \$dbpassword = '$dbpassword'; \$dbmysql = '$dbmysql'; define('TABLE_PREFIX', '$tableprefix'); define('COOKIE_KEY', '".PassGen(12)."'); define('WEBSITE_KEY', '".PassGen(12)."'); define('SYSDIR', '$SYSDIR'); ?>"; // write the config file $filenum = fopen (ROOT . "config/config.php","w"); ftruncate($filenum, 0); fwrite($filenum, $configfile); fclose($filenum);
安装完后,写入了文件,最开始的判断是否定义常量就能获取到了