Hallo Leute,
hab ein kleines Problem, hab von nem Kollegen eine config.txt Datei die ich per PHP auslese.
Die einzelnen Variablen und Werte sollen in ein Array geschrieben werden.
Die Datei ist im folgenden Format aufgebaut:
variable1=wert1
### Kommentar ###
variable2=wert2
variable3=wert3
(...)
Offline (neueste Version von XAMPP, Windows XP SP3) funktioniert es wunderbar,
Online hingegen (Linux Server, Apache 2) funktioniert es nicht.
Zum Einsatz kommen
explode, substr, u.s.w....
Offline trennt er es wunderbar, wie gesagt und macht mir aus dem oben genannten Format in der .txt ein assoziatives Array nach folgender Struktur:
$array["variable1"]="wert1"
$array["variable2"]="wert2"
(...)
Online hingegen macht er nur scheisse und trennt es nicht vernünftig...anscheinend funktioniert schon das erste explode nicht vernünftig...wodran kann das liegen??
hier mal der PHP-Code (funktion) aus ner Klasse, die das auslesen übernimmt:
PHP-Code:
public function split_txt($file_url){
// Inhalt der txt-Datei laden
if( file_exists($file_url) AND is_readable($file_url)){
$inhalt = file_get_contents($file_url); // Inhalt der Datei in $inhalt speichern
} else {
$this -> globalError("Datei existiert nicht oder ist nicht lesbar!");
}
// Inhalt exploden nach Zeilen
$inhalt = explode( "\r", $inhalt);
$container = array();
foreach($inhalt as $key => $val){
// Einträge (Zeilen) aus $inhalt filtern, die keine Variablen enthalten
if( is_string($val) AND strstr($val, "=") ){
$container[] = $val;
}
}
foreach($container as $key => $val){
$container[$key] = rtrim($val); // Überflüssige Leerzeichen am Ende entfernen
$container[$key] = ltrim($val); // Überflüssige Leerzeichen am Anfang entfernen
}
$inhalt = $container; // Ergebnis zwischenspeichern
$container = array(); // Container resetten
foreach($inhalt as $key => $val){
$pos_gleich = strpos( $val, "=" );
$container[substr($val, 0, $pos_gleich)] = substr($val, $pos_gleich+1, strlen($val));
}
$inhalt = $container; // Endergebnis speichern
return $inhalt; // fertiges Array zurückgeben
}
hoffe jemand hat da ne Idee^^
gruß,
Ascer