Autor Zpráva
debo
Profil *
Použil jsem textový soubor jako databázi pro moji aplikaci. Nyní ale potřebuji aby se část smazala. Myslím tu část která je tam nejdéle. Šlo by to vyřešit třeba nějakým scriptem který by mazal vše co se nevejde do 200 znaků. Prostě takovej limit 200 znaků a co je níž se smaže. Nevím ale jak mazat část textového souboru a tak se chci zeptat tady. nechci vytvořit script jen nějak nakopnout nebo nasměrovat na stránky kde se mazání obsahu v textovým adresáři probírá. Děkuji...
tiso
Profil
file_get_contents() + substr() + file_put_contents()
debo
Profil *
Díky skusím.
DoubleThink
Profil *
tiso:
Opět nevhodné použití file_get_contents. Nebuďte líní dělat filesystemové operace low-levelově a neplácat zbytečně paměť a prostředky serveru.

debo:
Použil jsem textový soubor jako databázi
První chyba.

Jestli je třeba jen zkrátit soubor na určitou délku, mohla by stačit funkce ftruncate. Pokud jde o to, nejdřív najít nějaký terminující řetězec, doporučil bych postupné načítání (fread) s nějakým rozumným krokem (třeba těch 200 bajtů).
AM_
Profil
DoubleThink:
Opět nevhodné použití file_get_contents. Nebuďte líní dělat filesystemové operace low-levelově a neplácat zbytečně paměť a prostředky serveru.
pokud se maže ze začátku souboru, stejně se musí celý přečíst a zapsat. A pokud na serveru kapacita je, proč zbytečně trávit čas nad kódem?
DoubleThink
Profil *
AM:
pokud se maže ze začátku souboru, stejně se musí celý přečíst a zapsat.
Ale nemusí se celý obsah nacpat najednou do paměti, soubor taky může mít klidně padesát mega.

A pokud na serveru kapacita je, proč zbytečně trávit čas nad kódem?
Tuhle větu snad ani nemůžeš myslet vážně.
AM_
Profil
Jenže pokud má do pár desítek kilo a na web nejdou desítky requestů za sekundu a v PHP nejsem zrovna zběhlý, proč bych se namáhal se složitějším řešením? stejně z disku méně než většinou 4KB číst nejde.

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0