通过修改表单的方式来修改配置文件是非常常用的,特别是在做安装数据库,以及一般性的系统后台来做参数配置时。
它的主要原理也是使用文件处理函数,然后通过正则表达式的方式来将文件中的值进行修改即可。
如如下的两个常见实例:
1.在安装数据库文件时参数配置文件的修改。
2.在一般性的系统后台使用常量来定义的值修改。
要进行修改的常量配置文件(config.inc.php):
<?php//数据库部分参数设置define("DB_HOST", "www.lampbrother.net\"); //数据库主机名define("DB_USER", "admin"); //数据库用户名define("DB_PWD", "123456"); //数据库密码define("DB_NAME", "wwwww"); //数据库名称define("TAB_PREFIX", "hhhhhhh_"); //前缀define("STYLE_PATH", APP_PATH."style/"); //系统风格路径define("APP_STYLE", "default"); //系统当前风格define("ARTICLE_PAGE_SIZE", 22); //后台文章每页显示的数目define("PICTURE_PAGE_SIZE", 4); //后台图片每页显示的数目define("PICTURE_SHOW_TYPE", "list"); //后台图片显示的方式 list 列表 thumb缩略图define("WATER", "1hnx52gm.gif"); //水印图片名称define("POSITION", 0);?>
进行修改相应的示例代码
<?phpfunction setConfig($post){//读取文件中的内容$str=file_get_contents("config.inc.php");$zz=array();$rep=array();foreach($post as $key=>$value ){$zz[]="/define\(\"{$key}\",\s*.*?\);/i";$rep[]="define(\"{$key}\", \"{$value}\");";}echo '<pre>';print_r($zz);print_r($rep);echo '</pre>';//改写文件中的内容$str=preg_replace($zz, $rep, $str);file_put_contents("config.inc.php", $str);//再写回文件}?>


浙公网安备 33010602011771号