Anything is possible...but I think everything is okay. In any event, here is some data for ya:
I wrote my own INI parser for reasons listed in the code below:
function ini_parse($filename)
{
//=================================================
// Since parse_ini_file() has probs with '=' and '&'
// characters in values, parse the ini file ourselves
//=================================================
$fp = fopen($filename, 'r');
while(!feof($fp)) {
$line = trim(fgets($fp, 1024));
if($line[0] == "[" && $line[strlen($line) - 1] == "]") {
$sec_name = substr($line, 1, strlen($line) - 2);
} elseif ($line[0] == ";") {
// do nothing...';' denotes a comment line
} else {
$pos = strpos($line, "=");
$property = substr($line, 0, $pos);
$value = substr($line, $pos + 1, strlen($line) - $pos - 1);
$ini_array[$sec_name][$property] = $value;
}
}
return $ini_array;
}[/b]
I call this function twice and build the array(s) like this:
$ini_array = ini_parse(fn_resolve($HTTP_SERVER_VARS['HTTP_HOST'], "", $root_ini)) + ini_parse(fn_resolve($HTTP_SERVER_VARS['HTTP_HOST'], "", $user_ini));
...where $root_ini and $user_ini are variables holding filenames. I've also tried the array_merge function as well:
$ini_array = array_merge( ini_parse(fn_resolve($HTTP_SERVER_VARS['HTTP_HOST'], "", $root_ini)), ini_parse(fn_resolve($HTTP_SERVER_VARS['HTTP_HOST'], "", $user_ini)) );
...with no luck. If I run the function on the ini files and then print_r them out individually, they are listing correctly so as far as I can tell the arrays are fine.
Any ideas.
TIA
Sean Shrum