我目前要求对每个页面加载一个Twitter的饲料(我知道这是不对的)这样的正确方法:Twitter的请求 -
json_decode(file_get_contents("http://api.twitter.com/1/statuses/user_timeline/{$username}.{$format}"));
即使最小流量,微博停止前长送我的要求。所以在为我的客户启动网站之后 - 我看到永久不可用的Twitter提要。
我想象这个工作的方式是检查feed - 将它存储在一个带有时间戳的表中,并选择一个间隔 - (比如10分钟)。在每个页面加载中,检查时间戳,如果时间间隔没有超过,请从表中提取订阅源,而不是Twitter。
我知道这可行,但鉴于我最后的错误是如此愚蠢,我想确保没有另一种更好的做法。
这次我是否有权利?
你说得很好。非常感谢,尤其是比较时间 - 我从来没有想到这一点。有没有简单的方法比较数据库中的时间?我打算让列默认为当前时间戳。 – drewwyatt 2011-12-21 03:18:02
简短的回答,没有。我将存储PHP时间()的返回值,而不用担心数据库时间函数。这个值是以秒为单位的,所以在你检索时间戳后,你可以比较一下'if(time()>($ timestamp +(10 * 60)))...' – 2011-12-21 03:24:28
如果你在做很多事情使用日期列类型,然后使用'strtotime()'转换为unix时间戳可能也是处理日期的好方法。不要过多交换是个好主意。还要注意,如果你需要它,你在MySQL中有'FROM_UNIXTIME()'。 PHP也有'mktime()',它给了你'time()'的同样的东西,而新版本的PHP有''DateTime'](http://us3.php.net/manual/en/book .datetime.php)对象。 – 2011-12-21 03:29:46