![]() |
SELFHTML Forumsarchiv |
|
|
Die folgende Nachricht zum Thema stammt von: Uri, 30. 11. 2001, 11:39
Eine Textdatei wird ausgelesen
$alt=file('bla.txt');
dann werden die Werte im Array $alt geändert,
und dann sollen die aktualisierten Werte wieder in die Datei geschrieben werden.
$fp=fopen('bla.txt','w+');
fwrite($fp,$neu);
Frage: was kommt hinter
$neu=
damit auch die Zeilenumbrüche eingetragen werden? \n geht schonmal nicht.
Die folgende Nachricht zum Thema stammt von: Sönke Tesch, 30. 11. 2001, 12:25
»» Eine Textdatei wird ausgelesen
»» $alt=file('bla.txt');
»» dann werden die Werte im Array $alt geändert,
»» und dann sollen die aktualisierten Werte wieder in die Datei geschrieben werden.
»» $fp=fopen('bla.txt','w+');
»» fwrite($fp,$neu);
»» Frage: was kommt hinter
»» $neu=
»» damit auch die Zeilenumbrüche eingetragen werden? \n geht schonmal nicht.
Das bedeutet, daß du anscheinend von $alt nach $neu die Zeilenumbrüche rausgenommen hast, da file() sie mit einliest. Du mußt also entweder deine Bearbeitung ändern, oder in einer Schleife alle Zeilen einzeln in die Datei zu scheiben:
for (i=0; i<sizeof($neu); $i++)
{
fputs($fp,$neu[$i] . "\n");
};
Gruß,
soenk.e
Die folgende Nachricht zum Thema stammt von: Uri, 30. 11. 2001, 12:38
»» Das bedeutet, daß du anscheinend von $alt nach $neu die Zeilenumbrüche rausgenommen hast, da file() sie mit einliest.
öhm...und wie? file() speichert doch die datei in einem array, und jede zeile kriegt ein eigenes feld. Die Bearbeitung sieht nur so aus: $alt[0]=$alt[0]+1;
Die folgende Nachricht zum Thema stammt von: Christian Kruse, 30. 11. 2001, 12:42
Hallo, <-- Begruessung
»» »» Das bedeutet, daß du anscheinend von $alt nach $neu die Zeilenumbrüche rausgenommen hast, da file() sie mit einliest.
»» öhm...und wie? file() speichert doch die datei in einem array, und jede zeile kriegt ein eigenes
»» feld. Die Bearbeitung sieht nur so aus: $alt[0]=$alt[0]+1;
Dann ist der Zeilenumbruch durch den impliziten Typecast schonmal weg geschnitten. Du musst
eh den Array Zeilenweise durchgehen, also schreib doch einfach ein \n mit, wenn eins fehlt.
Gruesse,
CK
Die folgende Nachricht zum Thema stammt von: Uri, 30. 11. 2001, 13:02
Ok, jetzt gehts. Bis auf:
$alt=file('bla.txt');
if ($wahl='0')
{$alt[0]=($alt[0]+1) . "\n";}
else if ($wahl='1')
{$alt[1]=($alt[1]+1);}
$neu=$alt[0] . $alt[1];
$fp=fopen('bla.txt','w+');
fwrite($fp,$neu);
fclose($fp);
Den Wert $wahl kriegt das Programm per Formular:
<form action='blabla.php' method='post'>
<input type='radio' name='wahl' value='0'>
<input type='radio' name='wahl' value='1'>
<input type='submit'>
</form>
aber es wird immer nur $alt[1] geändert. Und wieso?
Die folgende Nachricht zum Thema stammt von: nobody, 30. 11. 2001, 15:07
Hi,
ohne mich da jetzt lange mit dem zu beschäftigen, was dein Skript macht:
»» if ($wahl='0')
»» else if ($wahl='1')
Hier sollte wohl in beiden Zeilen das "==" für den Vergleich statt des "=" für eine Zuweisung stehen, oder?
Grüße,
nobody
Die folgende Nachricht zum Thema stammt von: Uri, 30. 11. 2001, 19:29
»» Hier sollte wohl in beiden Zeilen das "==" für den Vergleich statt des "=" für eine Zuweisung stehen, oder?
muäääh....wie peinlich...
© 1998-2008
Impressum, Software: Classic Forum