Вызов API Facebook только один раз в час в PHP - PullRequest
2 голосов
/ 15 марта 2011

Я звоню в Facebook API, чтобы узнать, как мои фан-страницы считаются в моем блоге Wordpress.Он работает нормально (я извлек XML и проанализировал его с помощью file_get_contents.) Теперь проблема в том, что API вызывается при каждой загрузке страницы, а также file_get_contents () - довольно медленный метод.Я хочу вызывать API только один раз в час и хранить данные в кэше, чтобы сократить время загрузки.

Я не знаю, горячо это делать?Это вообще возможно?Помощь.

1 Ответ

0 голосов
/ 15 марта 2011

Это немного не по-технически, но сохранение «лайков» с отметкой времени в текстовом файле должно помочь. Примерно так должно работать (PHP5):

$store = 'likes.txt'; // make sure this file exists, empty is fine to start with

list($likes, $stamp) = explode('|', file_get_contents($store));

if ((time() - $stamp) > 3600){
    // use your own page's name here instead of "php"
    $fbook = json_decode(file_get_contents("https://graph.facebook.com/php"));
    $likes = $fbook->{'likes'};
    file_put_contents($store, "$likes|".time());
}

echo $likes;
...