Hallo,
ich habe einen komischen Fehler und vielleicht hat hier jemand eine IDee.
Ich editiere eine INI Datei mit folgender Funktion, die ich z.b. so aufrufe um den eintrag "AddressField1" zu ändern.
edit_ini($inifile, "AddressField1=$anzeige1", "AddressField1=$_POST[StcAddressField1]\r\n");
---------------------------------------------------
function edit_ini($ini_file, $what, $replace){
$fp = fopen($ini_file, "r");//open file
$contents = fread($fp, filesize($ini_file));
fclose($fp);
$new_contents = ereg_replace($what, $replace, $contents);
$fp = fopen($ini_file, "w");
fwrite($fp, $new_contents);
fclose($fp);
}
------------------------------------------
Jetzt passiert mir folgendes: Bei meinem PC mit
PHP 4.3.2. rc1 und Apapche 2.0.45
wenn ich die PHP-Datei in der die Funktion steht, einmal ausführe und Einträge ändere und dann wieder schreibe, klappt es.
Es werden dann auch zeilen ganz am Schluss der Ini Datei gelöscht.
Bei zweiten Aufruf kann ich dann nichts mehr ändern,
Wenn ich mit dem Editor die Ini Datei vorher anschaue, habe ich keine Zeilenumbrüche drin, nach dem ausführen des Scripts sind welche drin.
Ich habe es auch ohne "\n\r" versucht aber dann habe ich andere Probleme, bzw. dann steht alles in einer Linie.
Bin für jeden Tipp dankbar.
Gruss
hawk
ich habe einen komischen Fehler und vielleicht hat hier jemand eine IDee.
Ich editiere eine INI Datei mit folgender Funktion, die ich z.b. so aufrufe um den eintrag "AddressField1" zu ändern.
edit_ini($inifile, "AddressField1=$anzeige1", "AddressField1=$_POST[StcAddressField1]\r\n");
---------------------------------------------------
function edit_ini($ini_file, $what, $replace){
$fp = fopen($ini_file, "r");//open file
$contents = fread($fp, filesize($ini_file));
fclose($fp);
$new_contents = ereg_replace($what, $replace, $contents);
$fp = fopen($ini_file, "w");
fwrite($fp, $new_contents);
fclose($fp);
}
------------------------------------------
Jetzt passiert mir folgendes: Bei meinem PC mit
PHP 4.3.2. rc1 und Apapche 2.0.45
wenn ich die PHP-Datei in der die Funktion steht, einmal ausführe und Einträge ändere und dann wieder schreibe, klappt es.
Es werden dann auch zeilen ganz am Schluss der Ini Datei gelöscht.
Bei zweiten Aufruf kann ich dann nichts mehr ändern,
Wenn ich mit dem Editor die Ini Datei vorher anschaue, habe ich keine Zeilenumbrüche drin, nach dem ausführen des Scripts sind welche drin.
Ich habe es auch ohne "\n\r" versucht aber dann habe ich andere Probleme, bzw. dann steht alles in einer Linie.
Bin für jeden Tipp dankbar.
Gruss
hawk
Kommentar