PinoyTech.org

CodeIgniter, Kohana, Mootools, jQuery and CSS

Write INI files with PHP

Posted by teejay on May 13, 2010

INI files are particularly helpful for small configurations. The Zend framework intensively uses INI files (from their beginners guide). You can use parse_ini_fileto read the configuration listed in there. However, what if we wanted to modify the INI files?

Here's a small function I picked up on the documentation of the parse_ini_file. This function will successfully allow you to write to ini files.

write_ini_file($assoc_arr, $path, $has_sections = FALSE)
{
 $content = ""; 

 if ($has_sections) { 
  foreach ($assoc_arr as $key=>$elem) { 
   $content .= "[".$key."]\n"; 
   foreach ($elem as $key2=>$elem2) 
   { 
    if(is_array($elem2)) 
    { 
     for($i=0;$i<count($elem2);$i++) 
     { 
      $content .= $key2."[] = \"".$elem2[$i]."\"\n"; 
     } 
    } 
    else if($elem2=="") $content .= $key2." = \n"; 
    else $content .= $key2." = \"".$elem2."\"\n"; 
   } 
  } 
 } 
 else
 { 
  foreach ($assoc_arr as $key=>$elem) { 
   if(is_array($elem)) 
   { 
    for($i=0;$i<count($elem);$i++) 
    { 
     $content .= $key2."[] = \"".$elem[$i]."\"\n"; 
    } 
   } 
   else if($elem=="") $content .= $key2." = \n"; 
   else $content .= $key2." = \"".$elem."\"\n"; 
  } 
 } 

 if (!$handle = fopen($path, 'w'))
 { 
  return false; 
 }

 if (!fwrite($handle, $content))
 { 
  return false; 
 }

 fclose($handle); 
 return true;
}

Categories: How To

Tags: php

No Comments

Comments are not allowed