带缓存功能,每天只向Bing请求一次,以免访问频率过快被ban掉IP
<?php header("Content-Type:text/html;charset=UTF-8"); error_reporting(0); date_default_timezone_set('Asia/Shanghai'); //设置中国时区 //https://yaaibk.com/?day=0&size=1024x768&type=pic $day=isset($_GET['day'])?$_GET['day']:'0';//0 今天,1 前1天,2 前2天,最多前7天,空为今天 $size=isset($_GET['size'])?$_GET['size']:'';//图片大小,1024x768,1920x1080,1080x1920,空为默认图片大小 $type=isset($_GET['type'])?$_GET['type']:'';//pic直接跳转图像链接,url链接,text图片描述,空为json $cache_path = 'bing_cache'; $dir=$cache_path.'/'.$day.'_time.txt'; # 文件/夹不存在就创建 if(!is_dir($cache_path)){ mkdir($cache_path,0755); } //if(!is_file($dir)){ // touch($dir); //} $url = 'https://www.bing.com/HPImageArchive.aspx?format=js&idx='.$day.'&n=1'; if(is_file($dir)){ $json = file_get_contents($dir); $array = json_decode($json,true);// JSON字符串转成 数组 if($array['images'][0]['enddate']==date('Ymd',time())){ $pic_url='https://www.bing.com'.$array['images'][0]['url']; $pic_urlbase='https://www.bing.com'.$array['images'][0]['urlbase']; $title=$array['images'][0]['copyright']; if($size){ $pic_url=$pic_urlbase.'_'.$size.'.jpg'; } }else{ $json = get_web_page($url); $array = json_decode($json,true);// JSON字符串转成 数组 $pic_url='https://www.bing.com'.$array['images'][0]['url']; $pic_urlbase='https://www.bing.com'.$array['images'][0]['urlbase']; $title=$array['images'][0]['copyright']; if($size){ $pic_url=$pic_urlbase.'_'.$size.'.jpg'; } file_put_contents($dir,$json); } }else{ $json = get_web_page($url); $array = json_decode($json,true);// JSON字符串转成 数组 $pic_url='https://www.bing.com'.$array['images'][0]['url']; $pic_urlbase='https://www.bing.com'.$array['images'][0]['urlbase']; $title=$array['images'][0]['copyright']; if($size){ $pic_url=$pic_urlbase.'_'.$size.'.jpg'; } file_put_contents($dir,$json); } switch ($type){ case 'text': echo $title; break; case 'url': echo $pic_url; break; case 'pic': header("status: 302"); header("Location: ".$pic_url); break; default: echo $json; } function get_web_page($url){ $options = array( CURLOPT_RETURNTRANSFER => true, //返回网页 CURLOPT_HEADER => false, //不返回头信息 CURLOPT_SSL_VERIFYPEER => 0, //验证对等证书 CURLOPT_SSL_VERIFYHOST => 2, //检查服务器SSL证书 CURLOPT_USERAGENT => "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.57 Safari/537.17 SE 2.X MetaSr 1.0", // 设置UserAgent CURLOPT_AUTOREFERER => true, //引用页重定向 CURLOPT_CONNECTTIMEOUT => 120, //连接超时 CURLOPT_TIMEOUT => 120, //回复超时 ); $ch = curl_init($url); curl_setopt_array($ch,$options); $content = curl_exec($ch); curl_close($ch); return $content; } ?>
关于图片大小如下
#横屏 1920x1200 1920x1080 1366x768 1280x768 1024x768 800x600 800x480 #竖屏 1080x1920 768x1366 768x1280 720x1280 640x480 480x800 400x240 320x240 240x320 #正方形(可以作为头像之类的) 320x320 240x240