php 站点使用XML文件做配置类

本文介绍了一个使用PHP实现的简单类,该类可以用来读取和修改XML配置文件。通过这个类,用户能够轻松地获取配置文件中的节点值,并且能够更新这些值并保存回文件。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

要用到,在网站上找了一个,然后自己整理成一个类..

 

<?php
/*
*PHP获取和设置XML节点,用于修改和读取站点配置文件
*2008-4-3 
*LIQUAN
*eg.get config 
*$c = new Configuration('config.xml');
*echo( $c->TemplateDirectory." " );
*
* set config
* $c = new Configuration('config.xml');
* $c->TemplateDirectory='test';
* $c->save();
*/

class Configuration
{
 
private $configFile;
 
private $items=array();
 
 
//构造函数
 function __construct($configFile)
 {
   
$this->configFile=$configFile;
   
$this->parse();
 } 
 
 
//获取属性
 function __get($id)
 {
    
return $this->items[$id];
 }

    
//设置属性
 function __set($key,$value)
 {
    
$this->$items[$key]=$value;
 } 
    
 
//解析XML文件保存到数组
 function parse()
 {
    
$doc=new DOMDocument();
    
$doc->load($this->configFile);
    
$cn=$doc->getElementsByTagName('config');
    
$nodes=$cn->item(0)->getElementsByTagName('*');
    
foreach($nodes as $node)
    {
          
$this->items[$node->nodeName]=$node->nodeValue;
    }
 }

 
//保存XML文件
    function save()
    {
    
$doc=new DOMDocument();
       
$doc->formatOutput=true;

    
$r=$doc->createElement('config');
       
$doc->appendChild($r);

    
foreach($this->items as $k=>$v)
    {
         
$keyName=$doc->createElement($k);
         
$keyName->appendChild($doc->createTextNode($v));
   
$r->appendChild($keyName);
    }
    
copy($this->configFile,$this->configFile.".bak");
    
    
$doc->save($this->configFile);
    }

}


?>

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值