Axel Schweits: PHP, fputs stiehlt Zeichen

Beitrag lesen

Hallo,

ich habe folgendes Problem:
Ich öffne eine Datei, in der gerade Daten eingegeben wurden mit dem Parameter r+ und schaue dann nach, ob die erste Zeile einen bestimmten Wert hat, wenn nicht, schreibe ich $variable in die erste Zeile.

Also zwei Dateizugriffe:
1. Daten eintragen (ebenfalls mit PHP)
2. Erste Zeile lesen und eventuell neue erste Zeile eintragen

Noch mal etwas genauer:
Nachdem ich nachgeschaut habe, repositioniere ich den Zeiger wieder mit fseek($fp, 0, SEEK_SET); (oder rewind($fp);) und schreibe dann  $variable in die Datei.

Das Problem ist:
Es wird zwar genau das in die Datei geschrieben was ich wollte aber aus der nächsten Zeile verschwinden die ersten 2Zeichen. ($variable hat den wert "1"."\n")

Was mir aufgefallen ist. Egal ,ob ich $variable in die Datei schreibe oder nicht, die Dateigrösse ist immer gleich. PHP stiehlt mir also immer die Anzahl von Bytes, welche $variable an Speicherplatz verbraucht. (Vermute ich, da ich nicht weiss, wie gross $variable ist)

PS: Nachdem das erstemal in die Datei geschrieben wurde schliesse ich sie natürlich auch wieder.

Meine Frage: In welche Falle bin ich getappt?

Gruss, Axel