如何在php网页上执行此操作?

我想获取并解码json字符串,并在页面上将结果显示为html,但是,我不希望它热链接回源。

如果我可以将解码后的字符串写到txt文件中,请在服务器上说weather.txt并保持html格式并执行该操作,以使该页面直到上次获取后60分钟过去都不会获取json脚本,无论在该60分钟内打开页面多少次,并查看了weather.txt。

我所能想到的只是一个简单的脚本,该脚本具有热链接功能,而我尝试的所有其他操作都只是失败了。

$ file = file_get_contents(' http://sample.com/weather ');
$ out =(json_decode($ file));
echo $ out-> mainText;

将不胜感激与此有关。

#1楼 票数:1

您可以使用filemtime()每分钟重新制作weather.txt,否则,请发送现有文件。

#2楼 票数:1

您可以使用UNIX cronjob,它每小时用您的代码输出内容覆盖weather.txt的内容

#3楼 票数:1

您也可以将数据存储在2列表中,其中1是数据,一个是dts。

所以....

SELECT * FROM table WHERE dts > NOW() - INTERVAL 60 MINUTE

if($mysqli->num_rows == 0)
{
   $file = file_get_contents('http://sample.com/weather');
   REPLACE INTO table SET data="$file",dts=NOW();
   $out = json_decode($file);
}
else
{
   $out = json_decode($mysqli->data);
}
echo $out->mainText; 

用您选择的RDBMS替换SQL语句

#4楼 票数:0

Twitter api上尝试我的答案, 每小时仅允许150次json调用,Twitter丢弃不需要的cookie。 我该如何预防?

有一个不错的缓存模块。 设置为5分钟,但修改60分钟很容易。

  ask by Gary translate from so

未解决问题?本站智能推荐:

1回复

PHP运行时缓存

我不知道是否可能,但我想清除运行时PHP类缓存。 假设我们有以下简单代码: print_r将显示此数组: 数组([myCode] => myCode) 但是'我想忘记运行时缓存,所以print_r显示一个空数组。 可能吗 ? 谢谢。
4回复

FacebookGraphAPI缓存JSON响应

我正在使用Facebook Graph API从Facebook粉丝页面获取内容,然后将它们显示在网站中。 我这样做,它正在工作,但不知何故,似乎我的托管服务提供商每隔一段时间限制我的请求....所以我想缓存响应,每8小时只要求一个新的请求例。 get_data函数以下列方式使用CURL:
6回复

缓存JSON数据

我之前从未真正缓存过数据,但我觉得它会大大改善我的网站。 基本上,我从外部API中提取JSON数据,这有助于我的网站的基本功能。 这个信息并没有真正改变,但我的用户每天都会从API中提取数千次信息。 如果它每天更新一次,那就没问题了。 我想每天运行一个cron作业,它将获取信息并更新缓
3回复

jQuery如何读取json缓存?

根据此答案,我为json数据设置了缓存: 现在,我想通过以下代码读取从javascript缓存的内容: 但是,问题是localStorage.getItem("dataCache")返回null。 如何从JavaScript读取PHP会话中创建的缓存?
1回复

提取并缓存JSON文件

提取JSON文件并将其缓存在服务器上的最佳方法是什么? 我想从远程来源获取JSON文件并将其缓存(例如24小时),以便其花费更少的互联网容量:)
1回复

Twig-缓存JSON吗?

我在Twig中使用Slim Framework。 当我输出html时,Twig中的缓存工作正常。 但是当我输出json时不起作用: 我在Slim容器中的Twig设置: 显然,它根本不缓存json。 那么Twig可以缓存json吗? 有任何想法吗?
2回复

在PHP中缓存JSON输出

有一点问题。 一直在使用facebook和twitter API并获取状态搜索查询的JSON输出没有问题,但是我进一步阅读并意识到,最终可能会受到文档中引用的“速率限制”。 我想知道每小时缓存JSON输出是否容易,以便至少可以尝试防止这种情况发生? 如果是这样,怎么做? 当我尝试一个y
1回复

SQL视图和JSON磁盘缓存

我正在编写一个类似reddit的网站 。 用户可以显示其选择类别中的项目。 为此,我要查询他订阅的类别和项目的JOIN 。 核心查询 第一种解决方案:将数据存储在磁盘上的“ Categories_1-2-4-7-10.json ”中,并提供给浏览相同类别的用户。 缺点:占用磁