Размер файла: 1.92Kb
- <?php
- if (!defined('_BR_'))
- define('_BR_',chr(13).chr(10));
- class ini {
- public $filename;
- public $arr;
- function __construct($file = false){
- if ($file)
- {
- if (!file_exists($file))
- file_put_contents($file, '');
- $this->loadFromFile($file);
- }
- }
- function initArray(){
- $this->arr = parse_ini_file($this->filename);
- }
- function loadFromFile($file){
- $result = true;
- $this->filename = $file;
- if (file_exists($file) && is_readable($file)){
- $this->initArray();
- }
- else
- $result = false;
- return $result;
- }
- function read($section, $key, $def = ''){
- if (isset($this->arr[$section][$key])){
- return $this->arr[$section][$key];
- } else
- return $def;
- }
- function write($key, $value){
- if (is_bool($value))
- $value = $value ? 1 : 0;
- $this->arr[$key] = $value;
- }
- function eraseSection($section){
- if (isset($this->arr[$section]))
- unset($this->arr[$section]);
- }
- function deleteKey($section, $key){
- if (isset($this->arr[$section][$key]))
- unset($this->arr[$section][$key]);
- }
- function readSections(&$array){
- $array = array_keys($this->arr);
- return $array;
- }
- function readKeys($section, &$array){
- if (isset($this->arr[$section])){
- $array = array_keys($this->arr[$section]);
- return $array;
- }
- return array();
- }
- function updateFile(){
- $result = '';
- foreach ($this->arr as $key=>$value){
- $result .= $key .'='.$value . PHP_EOL;
- }
- $result .= PHP_EOL;
-
- file_put_contents($this->filename, $result);
- return true;
- }
- function __destruct(){
- $this->updateFile();
- }
- }