webForumDet fria alternativet

Skriver fel till fil

PHP

2 svar · 341 visningar · startad av Asterix

Medlem sedan dec. 1999483 inlägg
Frågan#1

Jag har ett program som ser ut så här:

<?
$file = file("user\\" . $name . ".txt", "r");
list($name_2, $value_2, $color_2, $start_2) = split( ';', $file[0], 4);
$a = array_shift($file);

$file_2 = fopen("user\\" . $name . ".txt", "w");

if ($color != "nothing") {
	$color_3 = $color;
} else {
	$color_3 = $color_2;
}

fwrite ($file_2, $name_2 . ';' . $value_2 . ';' . $color_3 . ';' . $start);

$nr = 0;
foreach ($file as $line) {
	$nr++;
	if (${$nr} != 'on') {
		fwrite ($file_2, $line);
	}
}

if ($linkname != '') {
	fwrite ($file_2, $linkpath . ';' . $linkname);
}

fclose($file_2);
?>

<html>
<body bgcolor="#FFFFFF">
<font face="verdana" size="2">
<center>To change to the new configuration you have to login again, <a target="_top" href="../webpub/index.html">here</a></center>
</body>
</html>

nu är det så att när jag ska skriva till filen med hjälp av fwrite så ibland börjar den på ny rad och ibland inte. Jag har testa lägga till '\n' i slutet på strängen men det hjälper inte det bara skrivs till filen.

------------------
/Emil Hesslow

Medlem sedan dec. 1999483 inlägg
#2

Jag kollade på din sida Marcus (http://php.webforum.nu) och där hittade jag det. Jag var tvungen att använda '\r\n'.

------------------
/Emil Hesslow

Medlem sedan apr. 20003 971 inlägg
#3

Bra att du löste det :)

\r\n måste användas för radbrytningar i filer i Windows.

------------------
/mvh Swey

Programmera PHP

259 ms totalt · 4 externa anrop · v20260731065814-full.a51de22e
123 ms — deklarationer (db)
0 ms — hämta statistik (cache)
128 ms — hämta tråd, inlägg och bilagor (db)
129 ms — ändringar (db)