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安装攻略:常见问题解答(三)
Oct 09 PHP
PHP is_dir() 判断给定文件名是否是一个目录
May 10 PHP
php 操作数组(合并,拆分,追加,查找,删除等)
Jul 20 PHP
PHP中构造函数和析构函数解析
Oct 10 PHP
php将数组转换成csv格式文件输出的方法
Mar 14 PHP
微信公众号开发之语音消息识别php代码
Aug 08 PHP
php mysql_real_escape_string addslashes及mysql绑定参数防SQL注入攻击
Dec 23 PHP
YII中Ueditor富文本编辑器文件和图片上传的配置图文教程
Mar 15 PHP
PHP实现对xml进行简单的增删改查(CRUD)操作示例
May 19 PHP
PHP实现QQ、微信和支付宝三合一收款码实例代码
Feb 19 PHP
PHP模版引擎原理、定义与用法实例
Mar 29 PHP
PHP生成zip压缩包的常用方法示例
Aug 22 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
php5.3 注意事项说明
2013/07/01 PHP
php缓存技术详细总结
2013/08/07 PHP
PHP图片处理之使用imagecopy函数添加图片水印实例
2014/11/19 PHP
golang、python、php、c++、c、java、Nodejs性能对比
2017/03/12 NodeJs
PHP验证码无法显示的原因及解决办法
2017/08/11 PHP
Laravel 解决composer相关操作提示php相关异常的问题
2019/10/23 PHP
Thinkphp 框架扩展之标签库驱动原理与用法分析
2020/04/23 PHP
日常收藏的jquery技巧
2015/12/02 Javascript
JavaScript实现时间倒计时跳转(推荐)
2016/06/28 Javascript
JavaScript无缝滚动效果的实例代码
2017/03/27 Javascript
angularjs的select使用及默认选中设置
2017/04/08 Javascript
详解javascript中的变量提升和函数提升
2018/05/24 Javascript
微信小程序使用gitee进行版本管理
2018/09/20 Javascript
vue头部导航动态点击处理方法
2018/11/02 Javascript
React优化子组件render的使用
2019/05/12 Javascript
vue移动端使用appClound拉起支付宝支付的实现方法
2019/11/21 Javascript
node运行js获得输出的三种方式示例详解
2020/07/02 Javascript
关于vue-cli3打包代码后白屏的解决方案
2020/09/02 Javascript
[01:35]2014DOTA2西雅图邀请赛 专访狐狸妈青春献给刀塔
2014/07/08 DOTA
[46:25]DOTA2上海特级锦标赛主赛事日 - 4 败者组第五轮 MVP.Phx VS EG第二局
2016/03/05 DOTA
python使用mysqldb连接数据库操作方法示例详解
2013/12/03 Python
从零学Python之入门(三)序列
2014/05/25 Python
python登录豆瓣并发帖的方法
2015/07/08 Python
详解使用python绘制混淆矩阵(confusion_matrix)
2019/07/14 Python
浅谈pytorch、cuda、python的版本对齐问题
2020/01/15 Python
Django 解决model 反向引用中的related_name问题
2020/05/19 Python
CSS3的Border-radius轻松制作圆角
2012/12/24 HTML / CSS
HTML5 canvas基本绘图之绘制线条
2016/06/27 HTML / CSS
法国时尚品牌乐都特瑞士站:La Redoute瑞士
2016/09/05 全球购物
英国领先的餐饮折扣俱乐部:Gourmet Society
2020/07/26 全球购物
Order by的几种用法
2013/06/16 面试题
Static Nested Class 和 Inner Class的不同
2013/11/28 面试题
信息服务专业毕业生求职信
2014/03/02 职场文书
收费员岗位职责
2015/02/14 职场文书
2015年教师教学工作总结
2015/04/28 职场文书
详解PHP服务器如何在有限的资源里最大提升并发能力
2021/05/25 PHP