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常用函数 推荐收藏保存
Feb 21 PHP
elgg 获取文件图标地址的方法
Mar 20 PHP
php实现的太平洋时间和北京时间互转的自定义函数分享
Aug 19 PHP
PHP网络操作函数汇总
May 18 PHP
PHP 读取文本文件内容并分页显示
Jan 02 PHP
Zend Framework动作助手Json用法实例分析
Mar 05 PHP
PHP实现的一致性Hash算法详解【分布式算法】
Mar 31 PHP
PHP实现数组转JSon和JSon转数组的方法示例
Jun 14 PHP
PHP使Laravel为JSON REST API返回自定义错误的问题
Oct 16 PHP
在phpstudy集成环境下的nginx服务器下配置url重写
Dec 02 PHP
PHP如何开启Opcache功能提升程序处理效率
Apr 27 PHP
基于PHP实现发微博动态代码实例
Dec 11 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不用第三变量交换2个变量的值的解决方法
2013/06/02 PHP
typecho插件编写教程(二):写一个新插件
2015/05/28 PHP
PHP合并discuz用户脚本的方法
2015/08/04 PHP
php检查页面是否被百度收录
2015/10/28 PHP
Joomla调用系统自带编辑器的实现方法
2016/05/05 PHP
php 可变函数使用小结
2018/06/12 PHP
javascript中的作用域scope介绍
2010/12/28 Javascript
JavaScript面向对象设计二 构造函数模式
2011/12/20 Javascript
使用jquery动态加载javascript以减少服务器压力
2012/10/29 Javascript
Javascript常用小技巧汇总
2015/06/24 Javascript
JS获取鼠标坐标位置实例分析
2016/01/20 Javascript
javascript实现标签切换代码示例
2016/05/22 Javascript
深入理解ECMAScript的几个关键语句
2016/06/01 Javascript
浅谈jquery中使用canvas的问题
2016/10/10 Javascript
微信小程序 Page()函数详解
2016/10/17 Javascript
实例浅析js的this
2016/12/11 Javascript
ReactNative 之FlatList使用及踩坑封装总结
2017/11/29 Javascript
Angular6 正则表达式允许输入部分中文字符
2018/09/10 Javascript
详解Vue CLI 3.0脚手架如何mock数据
2018/11/23 Javascript
jQuery动态操作表单示例【基于table表格】
2018/12/06 jQuery
vue学习笔记之slot插槽用法实例分析
2020/02/29 Javascript
[46:23]OG vs EG 2018国际邀请赛淘汰赛BO3 第一场 8.23
2018/08/24 DOTA
Python yield使用方法示例
2013/12/04 Python
在ironpython中利用装饰器执行SQL操作的例子
2015/05/02 Python
如何用Python制作微信好友个性签名词云图
2019/06/28 Python
python安装virtualenv虚拟环境步骤图文详解
2019/09/18 Python
Python3 利用face_recognition实现人脸识别的方法
2020/03/13 Python
用python写PDF转换器的实现
2020/10/29 Python
python实现计算图形面积
2021/02/22 Python
民主评议党员登记表自我评价
2014/10/20 职场文书
2014年党建工作汇报材料
2014/10/27 职场文书
2016年小学生寒假总结
2015/10/10 职场文书
优秀团员主要事迹材料
2015/11/05 职场文书
高二英语教学反思
2016/03/03 职场文书
Java8中接口的新特性使用指南
2021/11/01 Java/Android
Kubernetes中Deployment的升级与回滚
2022/04/01 Servers