Autor | Zpráva | ||
---|---|---|---|
Petr789 Profil * |
#1 · Zasláno: 8. 2. 2011, 21:56:22
Zdravím,
nevíte co je špatně na tomto kousku kódu? $soubor = fopen("cislo.php", "w+"); $num = fread($soubor, 8); $num = $num + 1; fwrite($soubor, $text); fclose($soubor); Jde o to, že soubor cislo.php obsahuje nějaké číslo (dejme tomu 5) a já bych chtěl, aby se po provedení tohoto scriptu k tomu číslu přičetlo +1 a soubor se uložil, tedy aby tam bylo po provedení scriptu číslo 6. Bohužel mi to nefunguje - po provedení se smaže počáteční číslo a je nahrazeno 1. Mám dojem že je problém s tou proměnnou, teda že se číslo 1 nepřičítá k číslu z proměnné, ale k té proměnné (tedy ne k jejímu obsahu). Ale nevím jak to vyřešil :) Díky |
||
Petr789 Profil * |
#2 · Zasláno: 8. 2. 2011, 21:58:09
Pardon, kód mám takto, omylem jsem v prvním příspěvku odeslal starou verzi :)
$soubor = fopen("cislo.php", "w+"); $num = fread($soubor, 8); $num = $num + 1; fwrite($soubor, $num); fclose($soubor); |
||
Tori Profil |
#3 · Zasláno: 8. 2. 2011, 22:05:06
Místo w+ to otevírejte s parametrem r+. w+ otevře soubor a zkrátí na 0 bytů, takže pak funkcí fread není co číst.
Nebo můžete použít file_get_contents + file_put_contents. |
||
dan55 Profil |
#4 · Zasláno: 8. 2. 2011, 22:05:15 · Upravil/a: dan55
w+ původní data přemaže, pokud se nemýlím?
Zkus spíš toto, je to jednodušší... $now=file_get_contents("cislo.php"); $now=intval($now)+1; file_put_contents("cislo.php",$now); PS: dalo by se to zkrátit na jeden řádek, ale ať to je přehledné. |
||
Jan Knížek Profil |
#5 · Zasláno: 8. 2. 2011, 22:11:30 · Upravil/a: Jan Knížek
Opravdu čteš ze správného souboru? Zkus na třetí řádku dát kód:
echo($num); pardon za opozdilou reakci, měl jsem načtenou stránku moc dlouho :( |
||
Petr789 Profil * |
#6 · Zasláno: 8. 2. 2011, 22:12:52
Právě r+ sem zkoušel, jenže výsledek byl ten, že to místo sečtení čísel (tedy výsledku 6) jen přidalo nové číslo za to stávající - výsledek byl teda 56 :)
Ale udělal jsem to přes file_get_contents a file_put_contents a funguje to. Díky moc. |
||
Časová prodleva: 13 let
|
0