WCM Forum

WCM Forum (http://www.wcm.at/forum/index.php)
-   Programmierung (http://www.wcm.at/forum/forumdisplay.php?f=17)
-   -   Zeilenumbruch in Textdatei mit PHP geht nicht (http://www.wcm.at/forum/showthread.php?t=60462)

Kraeuterbutter 21.06.2002 20:13

Zeilenumbruch in Textdatei mit PHP geht nicht
 
folgendes:
ich will was in ein Text-File schreiben..
aber weder

\n noch \n\r noch chr(13)

bewirken was..
er schreibt mir diese Steuerzeichen als Text mit in die Datei, alles in eine Wurscht, kein Zeilenumbruch..

hier ein Code-Fraqument (so zum Testen):


$filename = 'Hallo256.txt';
$fp = fopen ($filename, "w");
if ($fp == FALSE) { echo 'false';}
else {echo 'true';}

fwrite($fp, 'Hallo Christian'.chr(13).' Hallo Reinhard');

fwrite($fp, chr(13));
fwrite($fp, "Auf wiedersehen");

fclose($fp);
$fp=fopen($filename, "r");
$Ergebnisstring = fread($fp, filesize($filename));

echo $Ergebnisstring;

hab mich schon überall durchs Netz "gegraben", man liest überall eben von \n (für Linux) und \n\r (für Windows)...
aber es funkt ned :(


HILFE !!!
DANKE !!

moorhahn 21.06.2002 21:03

CHR(13) allein reicht ned, du musst noch ein line-feed dranhängen, das ist CHR(10).

Kraeuterbutter 21.06.2002 21:58

.
 
herzlichen Dank !
jetzt funktionierts !

eine Frage hätt ich noch:
wenn ich jetzt aus txt-Datei wieder auslese, haut er mir wieder alles in eine Zeile...

ich lese mit
Code:

$Ergebnisstring = fread($fp, filesize($filename));
aus...
brauch ich da ne andere funktion um Zeilenweise auszulesen ?

Who-T 22.06.2002 12:30

http://www.php.net/manual/en/function.fread.php

liest dir bis EOF in deinem fall

probiers mit
file ($filename), dann kriegst du ein array aus den zeilen
http://www.php.net/manual/en/function.file.php

oder mit fgets()
http://www.php.net/manual/en/function.fgets.php


bsp1:

$lines = file ("data.txt");

for ($i = 0; $i < sizeof($lines); $i++)
do_something_with ($lines[$i]);




bsp2:

$fp = fopen ("data.txt", "r");

while (!feof($fp))
{
$currentline = fgets ($fp, 1000; //100 ist anzahl der zeichen
do_something_with ($currentline);
}



übrigens sollte fputs ($fp, "\n") auch, allerdings kann notepad den umbruch nicht darstellen. falls du deine file also immer mit notepad angeschaut hast, liegt das daran, schau dirs mal mit wordpad oder einem anderen editor an, dann gehts.

koe 22.06.2002 21:38

fgets
 
Also ich habe bis jetzt Dateien immer mir fgets(...) ausgelesen und es hat immer sper hingehaun!
das mit dem file(..) probier ich aber auch noch!
Damit könnte man sich ja irrsinnig viel ersparen!


Alle Zeitangaben in WEZ +2. Es ist jetzt 18:36 Uhr.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
© 2009 FSL Verlag