Autor | Zpráva | ||
---|---|---|---|
Trája Profil * |
#1 · Zasláno: 21. 9. 2006, 20:54:45
Ahoj, potřebuji vložit text na začátek souboru, dříve jsem postupoval takto:
$fp = fopen($soubor, 'r'); $stary_text = fread($fp, filesize($soubor)); fclose ($fp); $fp = fopen($soubor, 'w'); fputs($fp, $novy_text.$stary_text); fclose ($fp); Stávalo se však, že se zápis nezdařil, nový soubor byl prázdný a došlo tedy ke ztrátě dat. Podařilo se mi psát na začátek souboru využitím módu r+: $fp = fopen($soubor,"r+"); fputs($fp,$novy_text); fclose($fp); Avšak nový text nahrazuje ten starý, potřeboval bych, aby se ten starý jaksi inteligentně posunul =) Ještě jeden dotaz, funkce fseek nefunguje pro zápis? Nebo je omezena módem r+? Děkuji. |
||
tiso Profil |
#2 · Zasláno: 22. 9. 2006, 08:16:47
1. r+ funguje, ale musíš najprv uložiť obsah súboru do nejakej premennej ako pri prvom spôsobe -> fopen, fread, fputs, fclose.
2. fseek 3. Strate dát môžeš zabrániť napríklad tak že pokiaľ načítanie súboru neprebehne, tak nezapisuješ ale opakuješ načítanie, pokiaľ zápis neprebehne v poriadku tak nezatvoríš súbor ale opakuješ zápis, kým sa nepodarí, albo vypíšeš celý obsah súboru na obrazovku a uložíš si ho ručne Ctrl+C Ctrl+V |
||
Časová prodleva: 18 let
|
Toto téma je uzamčeno. Odpověď nelze zaslat.
0