Vinzenz Mai: ARRAY in TXT schreiben?! Hilfe :-(

Beitrag lesen

Hallo Patti,

<?php
$lines = file ('Messdaten.txt');

bitte beachte, dass bei der Anwendung von file() der Zeilenumbruch erhalten bleibt.

$lines[0]=$lines[0]+1;

Möchtest Du eine 2 an die Zeile, aber vor das Zeilenende anhängen?
Oder möchtest Du zu dem Wert der in der Zeile steht, die Zahl 1 dazuaddieren?

Ich nehme der Einfachheit halber an, dass Du eine 1 an das Ende der Zeile anhängen möchtest. Ich gehe weiter davon aus, dass weder am Ende noch am Anfang der Zeile Leerzeichen sind. Und drittens nehme ich an, dass es sich
um Textdateien handelt, die auf einem Windows-System erstellt wurden.

Dann wäre die Behandlung wie folgt:

  
// Entferne den Zeilenumbruch  
// Beachte, dass Leerzeichen am Anfang und Ende der Zeile auch entfernt werden.  
$lines[0] = [link:http://www.php.net/manual/de/function.trim.php@title=trim]($lines[0]);  
// Hänge die Zahl an, Verkettungsoperator ist der .  
$lines[0] .= 1;  
// Hänge die Zeichen, die das [link:http://aktuell.de.selfhtml.org/artikel/cgiperl/zeilenumbruch/index.htm@title=Zeilenende in Windows-Textdateien] angeben  
// wieder an  
$lines[0] .= chr(13) . chr(10);  
  
// Dies kannst Du dann zusammenfassen:  
// Statt der drei Anweisungen oben in einer einzigen  
$lines[0] = trim($lines[0]) . 1 . chr(13) . chr(10);  
  
...  
// Nachdem alle Zeilen überarbeitet sind.  
// Schreibe das Array in die Datei "Messdaten.txt" weg:  
// Unter PHP5 nutze einfach die Funktion [link:http://www.php.net/manual/de/function.file-put-contents.php@title=file_put_contents()]  
// file_put_contents schreibt Arrays von Zeilen, die Zeilenenden enthalten  
// genauso weg, wie Du es benötigst.  
$ergebnis = file_put_contents('Messdaten.txt', $lines);  

Natürlich können ein paar meiner Annahmen nicht stimmen, dann bitte ich Dich,
die Voraussetzungen hier genauer anzugeben.

Freundliche Grüße

Vinzenz