Skip to content

Instantly share code, notes, and snippets.

@shahariaazam
Last active August 29, 2015 14:06
Show Gist options
  • Select an option

  • Save shahariaazam/d18bf46bf70f2d626a11 to your computer and use it in GitHub Desktop.

Select an option

Save shahariaazam/d18bf46bf70f2d626a11 to your computer and use it in GitHub Desktop.
Write configuration data in a .ini file in PHP. It's important for large application to store global configurations about the whole/partial system for applications.
<?php
//@URL http://stackoverflow.com/questions/1268378/create-ini-file-write-values-in-php?answertab=votes#answer-1268642
function 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 .= $key . "[] = \"" . $elem[$i] . "\"\n";
}
} else if ($elem == "") $content .= $key . " = \n";
else $content .= $key . " = \"" . $elem . "\"\n";
}
}
if (!$handle = fopen($path, 'w')) {
return false;
}
$success = fwrite($handle, $content);
fclose($handle);
return $success;
}
// write your array now in a .ini file
$sampleData = array(
'first' => array(
'first-1' => 1,
'first-2' => 2,
'first-3' => 3,
'first-4' => 4,
'first-5' => 5,
),
'second' => array(
'second-1' => 1,
'second-2' => 2,
'second-3' => 3,
'second-4' => 4,
'second-5' => 5,
));
write_ini_file($sampleData, './data.ini', true);
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment