webForumDet fria alternativet

fopen, fread och fwrite

PHP

2 svar · 223 visningar · startad av Rödalacket

Medlem sedan feb. 20002 612 inlägg
Frågan#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
------------------

Medlem 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

Medlem 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....
------------------

251 ms totalt · 4 externa anrop · v20260731065814-full.6fe65c25
121 ms — deklarationer (db)
0 ms — hämta statistik (cache)
126 ms — hämta tråd, inlägg och bilagor (db)
121 ms — ändringar (db)