官方壁纸接口
https://cn.bing.com/HPImageArchive.aspx参数 | 是否必须 | 描述 |
formart |
否 | 输出格式,值为js或xml,默认为xml,一般使用js |
idx |
否 | 输出图片日期,idx=0或者不存在,则默认输出今天的图片,最大支持到16,最小为-1 |
n |
是 | 输出信息的数量,n=1为一条,最大支持8条 |
PHP自动保存Bing壁纸
PHP代码:<?php
/*
php抓取bing每日图片并保存到服务器
*/
$path = 'imgs'; //设置图片缓存文件夹
$filename = date("Y-m-d") . '.jpg'; //用年月日来命名新的文件名
if (!file_exists($path.'/'. $filename)) //如果文件不存在,则说明今天还没有进行缓存
{
if(!file_exists($path)) //如果目录不存在
{
mkdir($path, 0777); //创建缓存目录
}
$str = file_get_contents('https://cn.bing.com/HPImageArchive.aspx?format=js&idx=0&n=1&mkt=zh-CN'); //读取必应api,获得相应数据
$str = json_decode($str,true);
$imgurl = 'https://cn.bing.com'.$str['images'][0]['url']; //获取图片url
$img = grabImage($imgurl, $path.'/'.$filename); //读取并保存图片
/*Bing壁纸先已全面取消壁纸故事接口,并不再维护,故本例中未对每日故事进行采集,望知悉!*/
}
/*
远程抓取图片并保存
*/
function grabImage($url, $filename = "")
{
if($url == "") return false; //如果$url地址为空,直接退出
if ($filename == "") //如果没有指定新的文件名
{
$ext = strrchr($url, "."); //得到$url的图片格式
$filename = date("Y-m-d") . $ext; //用天月面时分秒来命名新的文件名
}
ob_start(); //打开输出
readfile($url); //输出图片文件
$img = ob_get_contents(); //得到浏览器输出
ob_end_clean(); //清除输出并关闭
$size = strlen($img); //得到图片大小
$fp2 = @fopen($filename, "a");
fwrite($fp2, $img); //向当前目录写入图片文件,并重新命名
fclose($fp2);
return $filename; //返回新的文件名
}
代码来自https://codess.cc/archives/72.html(链接失效)(经过本人优化)
根据官方Json数据获取今日Bing壁纸
PHP代码:<?php
$json_content = file_get_contents("https://cn.bing.com/HPImageArchive.aspx?format=js&idx=0&n=1&mkt=zh-CN");
$json_content = json_decode($json_content, true);
$img_url = "https://cn.bing.com" . $json_content["images"][0]["url"];
header("Location: $img_url");
?>
7天随机Bing壁纸
PHP代码:<?php
$date = mt_rand(0, 7);
$json_content = file_get_contents('https://cn.bing.com/HPImageArchive.aspx?format=js&idx=' . $date . '&n=1&mkt=zh-CN');
$json_content = json_decode($json_content, true);
$imgurl = 'https://cn.bing.com' . $json_content['images'][0]['url'];
header("Location: $imgurl");
?>
宝塔面板添加计划任务配合第一种实现自动保存
打开宝塔面板,选择菜单栏上的“计划任务” 任务类型选择:访问URL 任务名称:自己随便填 执行周期:每天-0点30分(为了避免Bing壁纸刷新延迟,选择0:30) URL地址:你PHP文件URL地址(例如:https://your-domain/bing/Autosave_Bing.php) 点击添加任务即可 点击任务列表下的,刚刚添加的任务旁边的执行,你会发现PHP文件所在目录多出了一个imgs文件夹,里面有刚刚保存的Bing壁纸 点击日志也可以查看执行日志© 版权声明
文章版权归作者所有,未经允许请勿转载。
THE END
- 最新
- 最热
只看作者