Autor Zpráva
MMoka
Profil *
Nevím, jestli tomu správně rozumím, ale pokud aplikuji v PHP ob_start, je možné cache promazat, znovu načíst ... řekněme každou hodinu?
Hrozně moc děkuji za výpomoc.
Keeehi
Profil
MMoka:
ob_start není keš. To ob znamená output buffer.

Normálně, když máš v kódu třeba echo "foo"; tak se ten řetězec pošle na výstup ihned, a pak se pokračuje dalším příkazem.
Pokud se někde před tím zabolalo ob_start, tak místo toho, aby se to rovnou poslalo na výstup, tak si to PHP jen někam uloží a na výstup se v tu chvíli nepošle nic. Pokud další příkaz chce něco vypsat, jen se to přidá do toho "uložiště". S těmi daty se dá určitým zpusobem pracovat (k tomu slouží další ob_* funkce, jejich callback parametry atp.) ale většinou se jen zavolá ob_end_flush, která vezme vše co se v uložišti nastřádalo a posle to na výstup.

Co je důležité je to, že tento output buffer funguje jen v rámci jednoho běhu scriptu. Když ten script poběží znovu, bude na začátku prázdný. Nic si z předchozího běhu nepamatuje.

Mám takový pocit, že jsi špatně pochopil, co funkce ob_* dělají. A tudíž ani ta otázka moc nedává smysl.

Co vlastně chceš udělat? Jaký máš problém?
anonym_
Profil *
MMoka:
Kromě toho, co píše Keeehi, cache nechceš čistit každou hodinu (nebo jakýkoliv jiný pevně daný časový úsek), ale ideálně jen tehdy, kdy dojde k nějakým změnám. Pokud chceš řešit opravdu cache (a ne jen správně pochopit funkci ob_ funkcí).

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