Text
|
|
|
|
<?php if (! defined('lib_ini')) { define('lib_ini', true);
class setfile
{
var $values;
var $filename;
function setfile($filename=false, $load=false)
{
if ($filename)
{
$this->filename=$filename;
return $this->read();
}
}
function write($filename=false)
{
if (! $filename)
$filename=$this->filename;
if (!isset($this->values) && !is_array($this->values))
return false;
if (!$f = @fopen($filename, 'w+'))
return false;
while (! flock($f, LOCK_EX))
{
if ($ct++ >= 3)
{
// Couldnt get an exclusive lock after 4 seconds, screw it.
fclose($f);
return false;
}
sleep(1);
}
foreach($this->values as $k => $v)
{
$tw = urlencode($k) . '=' . urlencode($v) . "rn";
fputs($f, $tw, strlen($tw));
}
fclose($f);
return true;
}
function read($filename=false)
{
if (! $filename)
$filename=$this->filename;
if (!$lns = @file($filename))
return false;
foreach($lns as $line)
{
list($k, $v)=explode('=', $line);
$this->values[urldecode($k)]=urldecode(chop($v));
}
return true;
}
}
}?>
|
|
|
Usage Example
|
$f = new setfile('db.cfg', true);
echo $f->values['hostname'];
$f->values['hostname']='somesite.com';
$f->write();
|
|
|
Rate This Script
|
|
|
|