2009-06-19 7 views
3

Meine Konfigurationsdatei sieht wie folgt aus:PHP: mit Datei config.ini auf Array-Lesung()

title = myTitle; 
otherTitle = myOtherTitle; 

, wenn ich mit file() lesen Sie die Datei, erstellt es dieses Array

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

und was ich will das Array aussehen wird

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

bin ich der falsche Ansatz mit ihr? Sollte ich gerade die gesamte Konfiguration in einen Stachel einlesen und von dort explodieren?

Antwort

9

Sie können die parse_ini_file Funktion verwenden. Es ist in PHP 4 und 5.

Wenn Ihre Konfigurationsdatei sieht wie folgt aus:

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

Die Funktion wird die folgende assoziatives Array zurück:

Array 
(
    [one] => 1 
    [five] => 5 
    [animal] => BIRD 
) 
+0

Awesome, genau das, was ich suchte . Ich wusste, dass ich es schon einmal getan hatte. –

0

Ich würde nur die Datei durchlaufen und jede Zeile einzeln explodieren. Hier ist ein einfaches Beispiel, nach dem Sie mit $config enden werden, die alle Ihre Daten wie gewünscht halten.

$config = array(); 
$lines = file("config.ini"); 
foreach ($lines as $line) { 
    $vals = explode('=', $line, 2); 
    $config[trim($vals[0])] = trim($vals[1]); 
}