tags:

views:

622

answers:

3

My config file looks like this:

title = myTitle;
otherTitle = myOtherTitle;

when I read the file with file(), it creates this array

[0] => title = myTitle;
[1] => otherTitle = myOtherTitle;

and what I want the array to look like is

[title] => myTitle;
[otherTitle] => myOtherTitle;

Am I using the wrong approach her? Should i just read the entire config into a sting and explode it from there?

A: 

I would just loop through the file and explode each line individually. Here's a simple example, after which you'll end up with $config holding all of your data as requested.

$config = array();
$lines = file("config.ini");
foreach ($lines as $line) {
    $vals = explode('=', $line, 2);
    $config[trim($vals[0])] = trim($vals[1]);
}
pix0r
A: 
$config = array();
foreach(file('config.ini') as $line)
    if(preg_match('/(.*?)\s*=\s*(.*)/', trim($line), $match))
        $config[$match[1]] = $match[2];
chaos
+6  A: 

You can use the parse_ini_file function. It's available in PHP 4 and 5.

If your config file looks like this:

one = 1;
five = 5;
animal = BIRD;

The function will return the following associative array:

Array
(
    [one] => 1
    [five] => 5
    [animal] => BIRD
)
Ayman Hourieh
Awesome, just what I was looking for. I knew I had done it before.
Joseph Carrington