Přečtení / zapsání do n-té řádky souboru

Nevíte někdo, jak se dá přečíst např. 5. řádek z datového souboru?
První umím pomocí "FGetS", ale nevím jak nastavit kurzor např. zrovna na ten 5.
Díky moc...
Kde v textovem souboru zacina X-ta radka se neda zjistit jinak, nez ze nactes vsechny radky do X-te.

Mozna reseni:

1) skutecne cist vsechno do X-te radky
2) mit dalsi indexovy soubor (binarni)
3) pouzit binarni soubor s pevnou delkou radky
Blbost Freemane neplácej kraviny !

jednoduše spusť smyčku s fgets a počítej kolikrát proběhla.. až to bude 5x máš 5tej
řádek.. třeba takto:

$radka = 5;
$i = 0;

while(($str = fgets($fr,32000)) != EOF) {
if ($i != $radka) $i++
else break;

nebo:

for($i = 0; $i < $radka; $i++)
$str = fgets($fr,32000);

tady uz je 5ta řádka v proměnné $str !!!!!!

Co je na tom těžkého ?

Freemane ty jsi komplikátor !

No, ale jak se udela, aby tu samou radku prepsal treba necim jinym???
Master: to co pises je presne moznost 1)
Az bude ten soubor mit tisice radku, kazdy rozumny clovek pouzije moznost 2) nebo 3). Ze bys neco nepochopil??? :)

Textovy soubor je posloupnost pismenek, radky jsou oddeleny specielnim znakem CR, takze pri prepsani radky je potreba doplnit zbytek mezerami (delsi radek zapsat nelze). Z toho vyplyva, ze v takovem pripade nezbyva nez pouzit metodu 3).
Freeman: on se ptal na ČTENI....
až se zeptá na zápis, pak dělej moností kolik chceš...
Mastere, on se PTAL i na zápis, v předpředchozím vzkazu! Jestli si chceš zabuzerovat, běž na chat!
Já osobně přepisuju řádky tak, že celej soubor načtu do pole, v něm to změním a pak to celý zas zapíšu. Je to sice trochu neefektivní, ale funguje to :-)
Borin: nikdo buzerovat nechce...

Ale když chce někdo pomoct tak mu nepíšu kraviny ale postup !!!

Tvůj způsob ujde... ale pokud to dělá více užívatelů naráz je to na h....
Protože se ti soubor nezapíše celý.. !

osobne pouzivam ve vetsine pripadu file do pole - je to pomerne jednoduche - pripadne do promenne (jina moznost jak zmenit neco uprestred souboru me nenapada, nez pomoci promennych). otevirani souboru je dobre osetrit (hlidat) aby dva skripty nemeli soucasny pristup do file - pokud by to mohlo narusit integritu dat. lze naprogramovat vlastni zamek, pripadne mrknout na flock() jestli pomuze - zalezi na systemu a php... vetsina databazovych serveru toto hlida automaticky (mysql na 99% take), ale to je tady zatim offtopic ;)

vitam kazdou rozumnou debatu na toto tema (bez emocnich projevu v predchozich prispevcich) ;~)

m.sa.
to master:
udelej s tim neco...

<master.nookie@click.cz>:
62.141.0.12 does not like recipient.
Remote host said: 550 5.1.1 <master.nookie@click.cz>... User unknown
Giving up on 62.141.0.12.

m.sa.
No když má člověk ve fóru 4000 řádků a potřebuje zobrazit 1000-1010, tak je ten postup docela náročný ;) Ideální je každý řádek označit svým číslem a to pak binárně vyhledávat, tedy ne ideální, ale jeden z možných způsobů...