note 63626 deleted from function.parse-ini-file by nlopess

From: Date: Sun, 26 Mar 2006 19:01:51 +0000
Subject: note 63626 deleted from function.parse-ini-file by nlopess
References: 1  Groups: php.notes 
Request: Send a blank email to php-notes+get-106648@lists.php.net to get a copy of this message
Note Submitter: trukin at gmail dot com ---- Creating my website, which i dont get to finish yet! i created these ini parsing functions to be able to save data easier into files: <? function iniParser_Reset(){ global $iniParser; $iniParser = array(); } function iniParser_SetFile($file){ global $iniParser; $iniParser[file] = $file; } function iniParser_Error($err){ global $iniParser; $iniParser[error] = $err; } function iniParser_OpenFile(){ global $iniParser; $iniParser[sections] = array(); $file = $iniParser[file]; if(!$file){ $iniParser[ok] = false; iniParser_Error("No File"); }elseif(!@file_exists($file)){ iniParser_Error("$file no existe"); $iniParser[ok] = false; }else{ $data = @file($file); $data = iniParser_TrimArray($data); $iniParser[data] = $data; $iniParser[ok] = true; $sec = false; foreach($data as $line=>$value){ if($value{0}=="["){ $sec = str_Replace(array("[", "]"), "", $value); }else{ list($n, $val) = explode("=", $value); $val = eregi_replace("^".$n."=", "", $value); $iniParser[sections][$sec][$n] = $val; } } return $iniParser[sections]; } } function iniParser_TrimArray($data){ if(is_Array($data)){ foreach($data as $line=>$value){ $value = trim($value); if($value){ $data[$line] = $value; }else{ unset($data[$line]); } } return $data; }else return false; } function iniParser_GetErr(){ global $iniParser; return $iniParser[error]; } function iniParser_SetValue($secname, $name, $value){ global $iniParser; $name = trim($name); $secname = trim(strtolower($secname)); if($iniParser[ok]==false){ iniParser_Error('no ok'); }Else{ $iniParser[sections][$secname][$name]=$value; } } function iniParser_SaveIni(){ global $iniParser; $file = $iniParser[file]; if(!$iniParser[ok]){ iniParser_Error("no ok"); return false; } if(file_exists($file)){ foreach($iniParser[sections] as $name=>$vals){ $name = "[".$name."]"; $filed[] = $name; foreach($vals as $na=>$va){ $filed[] = $na."=".trim($va); } } $filedata = @implode("\n", $filed); $handler = fopen($file, 'w'); fwrite($handler, $filedata); fclose($handler); } $iniParser = array(); } function iniParser_remove($secname, $name){ global $iniParser; $name = trim($name); $secname = trim(strtolower($secname)); if($iniParser[ok]==false){ iniParser_Error('no ok'); }Else{ unset($iniParser[sections][$secname][$name]); } } ////Example: iniParser_SetFile('some.ini'); $data = iniParser_openfile(); if($_GET[ac]=='edit'){ iniParser_SetValue('SomeSection', 'create_this_even_if_this_doesnt_exist', 'somedata'); }elseif($_GET[ac]=='delete'){ iniParser_remove('SomeSection', 'SomeName'); } $err =iniParser_GetErr(); if($err) die($err); iniParser_SaveIni(); // Save the ini ?> if cant explain it by looking at code, this which i wrote to not forget how it works my help you // INFO :: // set iniParser_setfilE(file) // array = iniParser_openfile(); // (optional) iniparser_setvalue(section, name, value) // iniParse_saveini();

« previous php.notes (#106648) next »