我如何在php网页上执行此操作?
我想获取并解码一个json字符串并在我的页面上将结果显示为html,但是,我不希望它将热链接返回到源代码。
如果我可以将解码后的字符串写入txt文件,请说服务器上的weather.txt并保留html格式并执行此操作,以便页面不会获取json脚本,直到距离上次60分钟为止无论在60分钟内打开页面多少次并且查看weather.txt,都会获取。
我能想到的只是一个简单的脚本,热链接,我尝试过的其他一切都失败了。
$ file = file_get_contents('http://sample.com/weather');
$ out =(json_decode($ file));
echo $ out-> mainText;
对此有任何帮助。
答案 0 :(得分:1)
您可以使用filemtime()每分钟重新生成weather.txt,如果没有,则发送现有文件。
答案 1 :(得分:1)
你可以使用UNIX cronjob,它会每小时用你的代码输出覆盖weather.txt的内容
答案 2 :(得分:1)
您还可以将数据存储在2列表中,1表示数据,1表示dts。
SO ....
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语句
答案 3 :(得分:0)
有一个很好的缓存模块。它设置为5分钟,但很容易修改60分钟。