这个类最大的特点就是可以加载无线深度的配置项,而在配置的使用过程中也可以对某些配置项进行修改,深度不超过5级。
/**
* config.php
*
* discription
*
* @filename config.php
* @version v1.0
* @update 2011-8-9
* @author randy.hong
* @contact homingway@163.com
* @package config
*/
define('DS', DIRECTORY_SEPARATOR);
define('PATH_CONFIG', '.'.DS.'configs');
//config param key separator
define('CONFIG_SEPARATOR', '.');
class CONFIG{
protected static $_configarray = array();
/**
* 获取一个配置
* @param string $key
* @return mixed
*/
public static function get($key=''){
//inlegal param,return false
if(!$key){
return false;
}
//without separator in param, return the whole config file
if(strpos($key,CONFIG_SEPARATOR)===false){
if(!isset(self::$_configarray[$key])){
$cfg_file = PATH_CONFIG.DS.'config.'.$key.'.php';
if(file_exists($cfg_file)){
self::$_configarray[$key] = include_once($cfg_file);
}
}
return self::$_configarray[$key];
} else {
$param = explode(CONFIG_SEPARATOR,$key);
if(!isset(self::$_configarray[$param[0]])){
$cfg_file = PATH_CONFIG.DS.'config.'.$param[0].'.php';
if(file_exists($cfg_file)){
self::$_configarray[$param[0]] = include_once($cfg_file);
}
}
$tmp_config = null;
for($i=1;$i<count($param);$i++){
if($i==1){
if(isset(self::$_configarray[$param[0]][$param[1]])){
$tmp_config = self::$_configarray[$param[0]][$param[1]];
} else {
return false;
}
} else {
if(isset($tmp_config[$param[$i]])){
$tmp_config = $tmp_config[$param[$i]];
} else {
return false;
}
}
}
return $tmp_config;
}
}
/**
* 更改某个配置项的值
* @param string $key
* @param mixed $value
* @return true
*/
public static function set($key,$value){
$param = explode(CONFIG_SEPARATOR,$key);
$count_param = count($param);
switch($count_param){
case 1:self::$_configarray[$param[0]] = $value;break;
case 2:self::$_configarray[$param[0]][$param[1]] = $value;break;
case 3:self::$_configarray[$param[0]][$param[1]][$param[2]] = $value;break;
case 4:self::$_configarray[$param[0]][$param[1]][$param[2]][$param[3]] = $value;break;
case 5:self::$_configarray[$param[0]][$param[1]][$param[2]][$param[3]][$param[4]] = $value;break;
default:break;
}
return true;
}
}
?>
配置文件:configs/config.test.php
return array(
'test1' => array(
'test2' => array(
'test3' => array(
'test4' => array(
'test5' => 5555,
),
),
),
)
);
调用文件
include_once('config.php');
$config = CONFIG::get('test.test1');
print_r($config);
CONFIG::set('test.test1',222);
$config = CONFIG::get('test.test1');
print_r($config);
分享到:
相关推荐
PHP仿网易云音乐网站源码 原创音乐分享平台源码一款基于PHP+MYSQL开发制作的原创音乐在线上传分享网站系统,程序,允许用户在网站注册,并上传自己的音乐作品,系统自带广告系统,可为你网站创造收入来源。...
微信JS-SDK分享接口,可通过javascript文件引入方式来实现自定义分享。 具体说明:https://blog.csdn.net/gaofei880219/article/details/80147575
这里有几个通过往wp-config.php中添加代码实现相关功能的技巧分享给大家。 1,去掉WordPress的历史修订版本功能。 这个是WordPress默认的功能,主要是方便多人协作写文章使用,但是在单人网站上,这个功能基本上是...
此系统是一个音乐分享平台, 同时也是一个音乐社交平台,允许用户在网站注册,并上传自己的音乐作品,与世界分享。系统自带管理员后台,管理员可在后台管理用户、网站设置等,与此同时。系统支持多语言,很轻松的就...
FFS是一款基于PHP+多重数据库的先进的网络文件存储分享系统,通过本系统,用户可以将资料在线上传到您的系统中,独创的文件分享码模式,轻松分享每一个文件。更有丰富多彩的文件应用提升文件的价值。 FFS5-Mini作为...
config.php文件: 复制代码 代码如下: <?php $db_name=”test”; $db_username=”root”; global $db_password; ?> 数据库操作类(调用配置文件)db.fun.php: 复制代码 代码如下: <?php require(“config/...
BCS上传分享代码至少需百度应用引擎...2、请在BAE后台手动创建一个bucket 请注意自行修改config.php里的$bucket 免责声明:已限制重复上传时间,防止短时间刷新bcs.php重复上传。此版本为测试版不对代码的BUG负责
内附php,node以及python的生成代码,可根据自己情况使用。
2019最新PHP云加密平台免费分享,这是一款真正能实现php在线云加密的系统带后台,网上发布的基本上都是二开或者都是假的。 使用本加密,用户需注册登录之后才能使用本加密,登录之后用户可自行上传php文件进行加密...
后台由本人在学习PHP练手时开发,现在和大家分享! 技术支持:http://www.kongdo.com/ 说明: 1、运行时需要创建数据库 数据库名称可以自己定义,创建好空数据库后 执行db.sql 文件创建表 2、配置config文件: 在...
* 解析.ini格式的配置文件为一个树形结构的对象 * 配置文件不同section通过冒号继承 * 默认根据hostname确定使用的section,如果不能确定就优先使用production * 检测环境的时候总是优先检测production,其余...
3.支付修改 /pay目录epay.config.php文件 支付对接的 易支付 需要易支付类型平台 4.视频源是 ks.txt 文件 ks.txt 里面的视频源少 . 可以将ks.txt2 文件改名 ks.txt 这个视频比较多 同样不能播放的视频也多 会员价格...
软件博客导航程序PHP版最初是为我的网站写的一个软件博客导航,方便博主之间走访,后来写了简单的后台,美化了下前台,php+mysql模式,使用了fancybox插件。 安装及配置说明: 1.新建数据库daohang 修改文件...
这是一个图片存储的网站系统,具有简单的时间线功能,同时有完善的通知中心。 系统需求 PHP版本必须大于等与5.4 Mysql必须支持INNODB引擎,数据库默认编码请指定为utf8mb4,集合为utf8mb4_unicode_ci,创建语句如下...
注意的是有些会员反映上传出错,这个可以请检查一下你的主机权限,最简单的就是在网站的themes目录下新建一个英文或者数字文件夹,把【易迅网-Shopex4.85.tgz】压缩包里面的文件全部复制到这个文件夹里面,就可以在...
100%完整无错,Discuz X1.5二次开发版,做一个DJ分享社区很不错。 会员可以上传舞曲,可以在线试听,功能强大,不一一介绍,。 安装说明: 1.运行 http://你的域名/bf 还原数据库(帐号密码是admin,不会还原的请百度...
一个免费IP探针系统,PHP版本。 默许定位接口是淘宝的,大家能够自行改换。 希望能够协助到有需求的朋友。 默许后台账号:admin 默许后台密码:123456 装置方式:修正config.php里面的数据库配置,导入ip.sql文件即可。
本文详细讲述了PHP动态编译出现Cannot ..../configure –with-php-config=/usr/local/webserver/php/bin/php-config 但是执行/usr/local/webserver/php/bin/phpize时出现错误: 复制代码 代码如下:Configuring for: PH
关注二维码图片地址,将这个图片地址改为自己新的二维码图片地址。 4.游戏页面底部是否要打开广告位,打开config.php文件在913行左右: 是否开启底部广告,1为开启,0为关闭,默认是关闭着此广告位。 $openad = 0; ...
在微信分享开发的时候我们通常的流程是 <?php require_once jssdk.php; $jssdk = new JSSDK(yourAppID, yourAppSecret); $signPackage = $jssdk->GetSignPackage(); ?> <!DOCTYPE html> <...