You've already forked EasyImages2.0
mirror of
https://github.com/icret/EasyImages2.0.git
synced 2025-12-13 11:43:58 +08:00
* 2023-02-01 v2.7.0 dev - 增加上传历史记录 - 增加粘贴上传状态 - 增加广场非图片图标 - 增加前端显示缩略图链接 - 增加每日获取Bing图片背景 - 增加图片详细信息管理登录后显示更多信息 - 增加解析上传IP地址 (使用方法参考提示信息) - 修复图片详细信息中随机图片排版混乱 - 替换访问生成缩略图代码 - 更新一些组件 - 调整前端显示 - 优化代码
55 lines
2.0 KiB
PHP
55 lines
2.0 KiB
PHP
<?php
|
||
|
||
/**
|
||
* php抓取bing每日图片并保存到服务器
|
||
* 作者:mengkun (mkblog.cn)
|
||
* 日期:2016/12/23
|
||
* 修改:Icret
|
||
* 修改日期:2023-01-30
|
||
*/
|
||
|
||
include_once '../config/config.php';
|
||
|
||
$path = '..' . $config['path'] . $config['delDir']; // 设置图片缓存文件夹
|
||
$filename = date("Ymd") . '.jpg'; // 用年月日来命名新的文件名
|
||
if (file_exists($path . $filename)) // 如果文件不存在,则说明今天还没有进行缓存
|
||
{
|
||
header("Content-type: image/jpeg");
|
||
exit(file_get_contents($path . $filename, true));
|
||
} else {
|
||
|
||
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); //读取并保存图片
|
||
}
|
||
/**
|
||
* 远程抓取图片并保存
|
||
* @param $url 图片url
|
||
* @param $filename 保存名称和路径
|
||
*/
|
||
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(); //清除输出并关闭
|
||
$fp2 = @fopen($filename, "w+");
|
||
fwrite($fp2, $img); //向当前目录写入图片文件,并重新命名
|
||
fclose($fp2);
|
||
return $filename; //返回新的文件名
|
||
}
|
||
|
||
header("Content-type: image/jpeg");
|
||
exit(file_get_contents($path . $filename, true));
|