php获取文件夹下指定文件名_宝塔+PHP方式自动获取每日必应壁纸并保存——墨涩网...

163934ec3224cb2cec77a67fa941bb10.png

必应集成了多个独特功能,包括每日首页美图,通过将来自世界各地的高质量图片设置为首页背景,并加上与图片紧密相关的热点搜索提示,使用户在访问必应搜索的同时获得愉悦体验和丰富资讯,美轮美奂的必应美图备很多人当做壁纸使用,每天不一样美图也被有心人收藏了下来,今天我们就利用一个php程序来实现访问php的地址就可以自动下载当日的必应壁纸。

方法

新建一个php文件,并命名为index.php(命名随便),将下面代码输进去。也可以在文章底部下载已建好的php文件

php

$path = 'temp'; //设置图片缓存文件夹

$filename = date("Ymd") . '.jpg'; //用年月日来命名新的文件名

if (!file_exists($path.'/'. $filename)) //如果文件不存在,则说明今天还没有进行缓存

{

if(!file_exists($path)) //如果目录不存在

{

mkdir($path, 0777); //创建缓存目录

}

$str = file_get_contents('http://cn.bing.com/HPImageArchive.aspx?format=js&idx=0&n=1'); //读取必应api,获得相应数据

$str = json_decode($str,true);

$imgurl = 'http://cn.bing.com'.$str['images'][0]['url']; //获取图片url

$img = grabImage($imgurl, $path.'/'.$filename); //读取并保存图片

$handle = fopen("dat.txt", "a"); //用于存放图片信息,如果不需要保存图片的相关信息,可以把下面这些去掉。

if ($handle)

{

$copyright = $str['images'][0]['copyright']; //说明

$startdate = $str['images'][0]['startdate'];

$fullstartdate = $str['images'][0]['fullstartdate'];

$enddate = $str['images'][0]['enddate'];

$urlbase = $str['images'][0]['urlbase'];

$copyrightlink = $str['images'][0]['copyrightlink'];

$quiz = $str['images'][0]['quiz'];

$wp = $str['images'][0]['wp'];

$hsh = $str['images'][0]['hsh'];

$drk = $str['images'][0]['drk'];

$top = $str['images'][0]['top'];

$bot = $str['images'][0]['bot'];

$tempArr = array("imgurl"=>$imgurl,"copyright"=>$copyright, "startdate"=>$startdate,

"fullstartdate"=>$fullstartdate, "enddate"=> $enddate, "urlbase"=>$urlbase,

"copyrightlink"=> $copyrightlink, "quiz"=>$quiz, "wp"=> $wp,

"hsh"=>$hsh,"drk"=>$drk, "top"=> $top, "bot"=> $bot); //将相关信息放进数组中

fwrite($handle, json_encode($tempArr) ."\r\n"); //最终以json格式保存在文本文档中

fclose($handle);

}

}

function grabImage($url, $filename = "")

{

if($url == "") return false; //如果$url地址为空,直接退出

if ($filename == "") //如果没有指定新的文件名

{

$ext = strrchr($url, "."); //得到$url的图片格式

$filename = date("Ymd") . $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; //返回新的文件名

}

把新建好的php文件上传到主机或服务器,在浏览器打开这个页面,打开以后不会显示任何信息,可以 在index.php的同级目录下查看是否成功,get成功的话会多出temp文件夹和dat.txt文件。

temp文件夹下的图片就是必应首页图,dat.txt文件为保存的纪录

f0069785b4c4180cf7dc5811f08fafc1.png

如果你有宝塔面板的话,可以在宝塔面板里面设置自动任务,每天自动执行访问这个地址,用于保存必应壁纸。


打开宝塔面板,点击“计划 任务”,任务类型选择“访问URL”,填写任务名称,执行周期选择每天并设置时间,url地址输入你上面新建的php文件的地址,添加任务并保存即可。

642d3ad203ef34320ce7ac393e4cf66e.png

文件下载

https://www.lanzous.com/i96p75c

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值