bing的首页背景图片很有质感,并且每日更新,下面的代码能将其提取并输出成图像文件:
php
<?php<br />
// 读取bing中国的每日背景图片并输出</p>
<p>// 读取指定地址的图片,并返回给浏览器<br />
function readImg($imgurl = 'assets/images/header.jpg') {<br />
if ($imgurl) {<br />
header('Content-Type: image/JPEG');<br />
@ob_end_clean();<br />
@readfile($imgurl);<br />
@ob_flush();<br />
@flush();<br />
exit();<br />
} else {<br />
exit('error');<br />
}<br />
}</p>
<p>// 获取bing中国的图片地址,<br />
// 注意:匹配模式规则可能会随着时间推移而改变。<br />
function getImgUrl($url = 'http://cn.bing.com') {<br />
// 打开bing中国首页<br />
$str = file_get_contents($url);<br />
// 获取其中的图片地址<br />
if (preg_match('/g_img={url: "(.*?)"/s', $str, $matches)) {<br />
// 拼接完整图片地址<br />
$imgUrl = 'http://cn.bing.com' . $matches[1];<br />
return $imgUrl;<br />
} else {<br />
// 如果获取失败,则返回假<br />
return $imgUrl = '';<br />
}<br />
}</p>
<p>// 将获取的图片地址写入到文件中<br />
function writeUrl($imgUrl, $filename) {<br />
// 打开或创建文件<br />
if ($fileHandle = fopen($filename, 'w')) {<br />
fwrite($fileHandle, $imgUrl);<br />
fclose($fileHandle);<br />
} else {<br />
echo '创建文件失败,请检查权限。';<br />
exit();<br />
}<br />
}</p>
<p>// 获取地址文件日期,并与当前日期进行对比<br />
function checkFileDate($filename) {<br />
//获取文件修改时间<br />
$bingdate = filemtime($filename);<br />
$bingdateymd = date("Y-m-d", $bingdate);<br />
$todaydateymd = date("Y-m-d");<br />
if ($bingdateymd == $todaydateymd) {<br />
return true;<br />
} else {<br />
return false;<br />
}<br />
}</p>
<p>// 读取本地文件中的图片地址信息<br />
function readUrl($filename) {<br />
$handle = fopen($filename, "r");<br />
$url = fread($handle, filesize($filename));<br />
fclose($handle);<br />
return $url;<br />
}</p>
<p>// 根据判断结果,得到地址<br />
function getUrl($flag, $filename) {<br />
if ($flag) {<br />
$url = readUrl($filename);<br />
return $url;<br />
} else {<br />
$url = getImgUrl();<br />
writeUrl($url, $filename);<br />
return $url;<br />
}<br />
}</p>
<p>$filename = 'bingbg.txt';<br />
// 获取当天图片地址<br />
$url = getUrl(checkFileDate($filename), $filename);<br />
// 读取图片并输出<br />
readImg($url);</p>
<p>`
然后在主题的图片位置,直接调用即可,如上述代码的文件名为bing.php的话,这样调用即可:
`<br />
'default-image' => get_parent_theme_file_uri('bing.php'),<br />
'url' => '%s/bing.php',<br />
`