вопрос
Здравствуйте!
На сайт понадобился информер курса валют. Нашел парсер (и то не для DLE, вроде) центробанка, чуть переделал под себя, был счастлив 1-го сентября (именно тогда и откопал сие чудо). Но сегодня 4-е число, а данные в нем выдаются всё также на первое число.
Вот его код:
Как это можно подправить? Или, может быть, кто-то посоветует хороший парсер с кэшированием (я обыскался, но на DLE с кэшированием не смог найти)? У меня есть вариант один без кэширования, так главная страница грузится почти секунду (иногда и больше, до двух), в то время как данный экземпляр грузит из файла главную за 0,04 секунды.
P.S.
В данном коде проверяется дата создания файла, если прошли сутки, он якобы обновляется (проверить не удалось из-за проблемы выше). Где (и как) тут можно указать, чтобы срок обновления не сутки был, а раз в час, например или любое другое время.
Спасибо!
На сайт понадобился информер курса валют. Нашел парсер (и то не для DLE, вроде) центробанка, чуть переделал под себя, был счастлив 1-го сентября (именно тогда и откопал сие чудо). Но сегодня 4-е число, а данные в нем выдаются всё также на первое число.
Вот его код:
Как это можно подправить? Или, может быть, кто-то посоветует хороший парсер с кэшированием (я обыскался, но на DLE с кэшированием не смог найти)? У меня есть вариант один без кэширования, так главная страница грузится почти секунду (иногда и больше, до двух), в то время как данный экземпляр грузит из файла главную за 0,04 секунды.
P.S.
В данном коде проверяется дата создания файла, если прошли сутки, он якобы обновляется (проверить не удалось из-за проблемы выше). Где (и как) тут можно указать, чтобы срок обновления не сутки был, а раз в час, например или любое другое время.
Спасибо!
Обновлять каждый час не имеет смысла, ЦБ так часто не обновляет, раз в сутки достаточно с головой.
Если кто то будет ставить на DLE не забудьте сменить папку под кеширование в этом модуле
найти
$cache_file=$_SERVER['DOCUMENT_ROOT']."/cache/kurs.txt"; //права на папку cache 777
заменить на
$cache_file = ROOT_DIR."/engine/cache/kurs.txt"; //права на папку cache 777
А если вдруг кому все равно требуется создать кеширование по времени, тогда через API dle
$dle_api->save_to_cache ( string $fname, mixed $vars); //Записать в кеш
$dle_api->load_from_cache ( string $fname, [, int $timeout [, string $type]]); //Читать из кеша
$dle_api->clean_cache ( [string $name] ); //Удалить из кеша
Для доступа к API достаточно прописать в модуле:
include ('engine/api/api.class.php');
Если кто то будет ставить на DLE не забудьте сменить папку под кеширование в этом модуле
найти
$cache_file=$_SERVER['DOCUMENT_ROOT']."/cache/kurs.txt"; //права на папку cache 777
заменить на
$cache_file = ROOT_DIR."/engine/cache/kurs.txt"; //права на папку cache 777
А если вдруг кому все равно требуется создать кеширование по времени, тогда через API dle
$dle_api->save_to_cache ( string $fname, mixed $vars); //Записать в кеш
$dle_api->load_from_cache ( string $fname, [, int $timeout [, string $type]]); //Читать из кеша
$dle_api->clean_cache ( [string $name] ); //Удалить из кеша
Для доступа к API достаточно прописать в модуле:
include ('engine/api/api.class.php');