php使用COPY函数更新配置文件的方法


Posted in PHP onJune 18, 2015

本文实例讲述了php使用COPY函数更新配置文件的方法。分享给大家供大家参考。具体如下:

_saveconfig.php文件如下:

<?php
/*
 * File: _saveconfig.php
 * 
 * Modified: 2010-7-11
 * By:liulang
 * 说明:涉及到两个文件:_saveconfig.php和config.php当对后台的一些全局配置变量进行更新时,
 * 就更改后台的config.php然后通过这个文件更改前台的config.php文件(前后台文件都一样),
 * 这个是我曾经用过的一个方法,觉得还不错,拿出来与大家分享
 *
 * Created: 2010-6-20
 * By: liulang (xujiaphp@gmail.com)
 * 
 */
  $srcFile = '../'.$dRootDir.'#data/config.php';
  $dstFile = $dRootDir.'config.php'; 
  $content = file_get_contents($srcFile);
  $arr = array
  (
     array('SITENAME', $gSite['siteName']),
     array('SITENAMEEN', $gSite['siteNameEn']),
     array('SITEKEYWORDS', $gSite['siteKeywords']),
     array('SITEDESCRIPTION', $gSite['siteDescription']),
     array('URLPREFIX', $gUrlPrefix),
     array('DBHOST', $gDb['host']),
     array('DBUSER', $gDb['user']),
     array('DBPWD', $gDb['pwd']),
     array('DBNAME', $gDb['db']),
     array('DBPREFIX', $gDb['prefix']),
     array('DIR', $gUpload['dir']),
     array('IMAGEWIDTH', $gUpload['imageWidth']),
     array('IMAGEHEIGHT', $gUpload['imageHeight']),
     array('CONTACTUS', $contactus),
     array('MENUHIDDENDIV', $menuhiddendiv),
     array('THEME', $gTheme),
     array('DATE', date('Y-m-d')),
     array('USER', $dAdminName)
   );
   for ($i = 0; $i < count($arr); $i++)
   {
    $content = str_replace('~`~'.$arr[$i][0].'~`~', $arr[$i][1], $content);
   } 
   copy($dRootDir.'config.php', $dRootDir.'bak.config.php');
   //copy($dRootDir.'bak.config.php', '../'.$dRootDir.'config.php');
   $done = file_put_contents($dstFile, $content);
   copy($dstFile, '../'.$dRootDir.'config.php');
?>

config.php配置文件如下:

<?php
/*
 * File: config.php
 * 
 * Modified: 2010-09-20
 * By:admin
 * 
 * Created: 2010-6-20
 * By: liulang (xujiaphp@gmail.com)
 * 
 */
  $gVersion = '1.0';
  $gDb = array
  (
    'host' => 'localhost',   //主机名
    'user' => 'root',   //用户名
    'pwd' => '',    //密码
    'db' => 'sino',    //数据库名
    'prefix' => 'sin_'  //数据库前缀
  );
  $gSite = array
  (
    'siteName' => '公司名',   
    'siteNameEn' => 'we are the company',  
    'siteKeywords' => '药物,医药,制药',  
    'siteDescription' => '公司名是一家从事00方面的公司' 
  );
  $gUpload = array
  (
    'dir' => 'uploads',
    'imageWidth' => '120',
    'imageHeight' => '*'  
  );
  $contactus = '';
  $menuhiddendiv = "";
  $FROMURL=$_SERVER["HTTP_REFERER"]?$_SERVER["HTTP_REFERER"]:$HTTP_SERVER_VARS["HTTP_REFERER"];
  $dRootDir = '../';
  $conn = mysql_connect($gDb['host'],$gDb['user'],$gDb['pwd']);
  mysql_select_db($gDb['db']) or die('database connect error!'); 
  mysql_query("SET NAMES 'gbk'"); 
?>

希望本文所述对大家的php程序设计有所帮助。

PHP 相关文章推荐
php下intval()和(int)转换使用与区别
Jul 18 PHP
php设计模式 Singleton(单例模式)
Jun 26 PHP
php中filter函数验证、过滤用户输入的数据
Jan 13 PHP
ThinkPHP中的系统常量和预定义常量集合
Jul 01 PHP
PHP使用json_encode函数时不转义中文的解决方法
Nov 12 PHP
php 批量查询搜狗sogou代码分享
May 17 PHP
PHP对象克隆clone用法示例
Sep 28 PHP
DEDE实现转跳属性文档在模板上调用出转跳地址
Nov 04 PHP
php 5.4 全新的代码复用Trait详解
Jan 05 PHP
php 调用ffmpeg获取视频信息的简单实现
Apr 03 PHP
JSON PHP中,Json字符串反序列化成对象/数组的方法
May 31 PHP
laravel框架中视图的基本使用方法分析
Nov 23 PHP
ThinkPHP里用U方法调用js文件实例
Jun 18 #PHP
php实现mysql数据库分表分段备份
Jun 18 #PHP
php遍历树的常用方法汇总
Jun 18 #PHP
php编写简单的文章发布程序
Jun 18 #PHP
试用php中oci8扩展
Jun 18 #PHP
浅谈PDO的rowCount函数
Jun 18 #PHP
基于PHP实现的事件机制实例分析
Jun 18 #PHP
You might like
默默小谈PHP&amp;MYSQL分页原理及实现
2007/01/02 PHP
php xml 入门学习资料
2011/01/01 PHP
php发送post请求的三种方法
2014/02/11 PHP
javascript some()函数用法详解
2014/11/13 PHP
Symfony2框架创建项目与模板设置实例详解
2016/03/17 PHP
PHP设计模式之策略模式原理与用法实例分析
2019/04/04 PHP
firefo xml 读写实现js代码
2009/06/11 Javascript
jQuery 核心函数以及jQuery对象
2010/03/23 Javascript
javascript学习基础笔记之DOM对象操作
2011/11/03 Javascript
Jquery获取第一个子元素简单实例
2016/06/02 Javascript
功能强大的Bootstrap效果展示(二)
2016/08/03 Javascript
微信+angularJS的SPA应用中用router进行页面跳转,jssdk校验失败问题解决
2016/09/09 Javascript
bootstrap下拉菜单使用方法解析
2017/01/13 Javascript
微信小程序 动态传参实例详解
2017/04/27 Javascript
微信小程序map组件结合高德地图API实现wx.chooseLocation功能示例
2019/01/23 Javascript
express如何解决ajax跨域访问session失效问题详解
2019/06/20 Javascript
vue实现路由监听和参数监听
2019/10/29 Javascript
Vue3为什么这么快
2020/09/23 Javascript
[15:09]DOTA2国际邀请赛采访专栏:Loda
2013/08/06 DOTA
[07:09]2014DOTA2国际邀请赛-Newbee再次发威成功晋级决赛
2014/07/19 DOTA
Python版的文曲星猜数字游戏代码
2013/09/02 Python
启动targetcli时遇到错误解决办法
2017/10/26 Python
轻松实现TensorFlow微信跳一跳的AI
2018/01/05 Python
python模拟登陆,用session维持回话的实例
2018/12/27 Python
python能在浏览器能运行吗
2020/06/17 Python
Python+Opencv身份证号码区域提取及识别实现
2020/08/25 Python
HTML5不支持frameset的两种解决方法
2016/11/14 HTML / CSS
利物浦足球俱乐部官方商店(美国):Liverpool FC US
2019/10/09 全球购物
美国狗旅行和户外用品领先供应商:kurgo
2020/08/18 全球购物
自动化专业个人求职信范文
2013/11/29 职场文书
小学生期末评语大全
2014/04/21 职场文书
入党积极分子对十八届四中全会期盼的思想汇报
2014/10/17 职场文书
2014年个人工作总结报告
2014/11/27 职场文书
党员个人年度总结
2015/02/14 职场文书
举起手来观后感
2015/06/09 职场文书
男方家长婚礼致辞
2015/07/27 职场文书