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


本文实例讲述了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程序设计有所帮助 。