Ahoj.
Chtěl bych se zeptat, zda jde nějak udělat, aby se mi určitý script provedl až po určité době (třeba každé dvě hodiny) aniž bych použil databázi nebo CRON, pouze přes PHP.
Jestli jde nějak udělat, aby se do jedné proměnné uložil aktuální čas a do druhé čas o dvě hodiny déle (třeba přes strtotime("+2 hours")), ale aby se ten uložený čas (o dvě hodiny víc) po každém obnovení stránky neuložil znovu.
Chtěl bych tím zrychlit stránku, abych nemusel po každém kliknutí dávat dotazy DB, jestli je už čas větší než čas v DB, ale jen porovnávat dvě proměnné v PHP souboru.
Díky :)
To co chceš, se nazývá DB cache. Takže si můžeš na internetu najít více informací.
Pro cachování můžeš použít ukládání do souboru a přes filemtime() porovnávat časový rozdíl.
$cache_time = 7200; // jak dlouho ponechat v cache v sekundach
$cache_file = ""; // cesta k souboru - muzes mit vlastni logiku
$timediff = time() - filemtime($cache_file);
if ($timediff < $cache_time) {
// nacti ze souboru $cache_file
} else {
// nacti z DB a ulož do souboru $cache_file
}
Nebo obecně cache, pokud nejde přímo o databázi.
Paráda, věděl jsem, že to nějak půjde. Děkuji ! ;)