php json有缓存,PHP 获取每日BING图 并且缓存URL链接到本地JSON

将获取的BING图链接进行缓存,减少服务器负担,提升访问速度。

$filename = "./cache.json";

if (file_exists($filename) === false) {

file_put_contents($filename, "");

}

$handle = fopen($filename, "r");

$contents = fread($handle, filesize($filename));

fclose($handle);

$contents = json_decode($contents, true);

if (filesize($filename) === 0) {

getBingImg();

} else {

if ($contents['time'] === date("Ymd")) {

Header("Location: " . $contents['url']);

} else {

getBingImg();

}

}

function getBingImg()

{

$str = json_decode(file_get_contents('https://cn.bing.com/HPImageArchive.aspx?format=js&idx=0&n=1'));

if (isset($str->images[0])) {

$impurely = 'https://cn.bing.com' . $str->images[0]->url;

} else {

$impurely = false;

}

if ($impurely) {

global $contents;

if ($contents['url'] !== $impurely) {

global $filename;

$data = array(

"time" => date("Ymd"),

"url" => $impurely

);

$data = json_encode($data);

file_put_contents($filename, $data);

}

Header("Location: " . $impurely);

exit();

} else {

exit('error');

}

}

?>

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值