Nochmal EDIT:
$i++ muss immer und nciht nur im else Zweig ausgeführt werden. Doofheit!
Problem leider immer noch nicht gelöst. Die letzte Zeile erscheint jetzt zwar, aber die Pluszeichen sind noch immer da1
Hallo Programmierer,
also, ich öffne eine Datei mit file("Dateiname"), das gibt einen Array zurück, der für jede Zeile ein Element enthält. Den Array will ich auslesen und wieder in einen String schreiben, wobei das 6 Element durch ein anderes ersetzt wird. das ganze wird mit fwrite() in eine neue Datei geschrieben. Nur leider sieht die neue Datei ganz anders aus, als sie aussehen soll.
Hier der Code:
PHP-Code:
$schule=file("../config/schule.inc");
$string="";
$i=0;
foreach ($schule as $wert) {
if($i==5){
$string.=" \$HauptPfad=".$_POST["fservpath"].";\n";
} else {
$string.=$wert."\n";
$i++;
}
}
$fp=fopen("../config/schule.inc","w");
fwrite($fp,$string);
fclose($fp);
Die Datei, die am ende rauskommt, hat pluszeichen, die ich gar nicht reingeschrieben habe, aussedem fehlt die letzte Zeile. Das Resultat ist etwa:
Zitat:
<?php
+
/*Diese Variablen werden durch den Installer gesetzt*/
+
$Schule="Leibnizschule";
+
$Adminname="Lehr";
+
$HauptPfad="/var/www/html/fdb/";
+
$HauptURI="http://www.ihre-domain.de/verzeihnis/fdb";
+
$HauptPfad=/var/www/html/fdb/;
$HauptPfad=/var/www/html/fdb/;
$HauptPfad=/var/www/html/fdb/;
$HauptPfad=/var/www/html/fdb/;
$HauptPfad=/var/www/html/fdb/;
usw.usw.
nur die letzte Zeile kommt nicht.
|
Woran kann das liegen?
Das alte Leid mit den UNIX/Windows Zeilenumbrüchen