webForumDet fria alternativet

fopen, fread och fwrite

2 svar · 223 visningar · startad av Rödalacket

RödalacketMedlem sedan feb. 20002 612 inlägg
#1

Jag har en text-fil som skall uppdateras, ett nytt värde skall läggas på det värde som
finns i den aktuella filen.

Nu har jag det så att jag öppnar filen för läsning ("r")
och hämtar värdet i filen, öppnar filen igen för skrivning ("w"), tar värdet från "läsningen"
och lägger till ett värde och tillslut skriver hela rasket till filen igen.
Öppnar filen återigen och läser av resultatet och skriver ut det.

Det måste helt enkelt finnas något smidigare sätt, har prövat med r+ och w+ men
för det inte att funka.

Kan man lösa det med r+ eller w+ eller måste det vara som det är.
Så här, plus en massa varianter, har jag prövat, något fel måste det vara....

$value=4;
$f=fopen("one.txt","r+");
$read=fread($f, filesize("one.txt"));
$summa=($read+$value);
fwrite($f, $summa);
fclose($f);

------------------
Niclas
------------------

BatboyMedlem sedan jan. 20001 006 inlägg
#2

Rewind()?

<?
$value=4;
$f=fopen("one.txt","r+");
$read=fread($f, filesize("one.txt"));
$summa=($read+$value);
[b]rewind($f);[/b]
fwrite($f, $summa);
fclose($f);
?>

/j

------------------
R6

RödalacketMedlem sedan feb. 20002 612 inlägg
#3

...för att ställa "pekaren" i början.

Borde ha tänkt på det.

Tack.

------------------
Hjärnsläpp....
Nu går jag och köper en pizza....
------------------

137 ms totalt · 3 externa anrop · v20260731065814-full.30151723
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
135 ms — hämta tråd, inlägg och bilagor (db)