前言
现在有很多站点都会用到图片,但又不想自己一个一个下载上传,这里就是用API接口将获取到的图片下载到本地,然后供自己使用,现在很多接口都是免费一定量超过就要收费,站长也穷,所以就捣鼓了这个!
接口
要先到网站获取接口的token
代码
需要新建一个文件夹放图片跟代码,例如新建acg(文件夹名)、acg-api.php(PHP文件),先新建一个acg然后在里面新建acg-api.php放入下方代码
<?php
if (($_GET['api'] === 'api-acg')){
$curl = curl_init();
curl_setopt_array($curl, array(
CURLOPT_URL => "https://v2.alapi.cn/api/acg",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => "token=要自己去网站获取&format=json",
CURLOPT_HTTPHEADER => array(
"Content-Type: application/x-www-form-urlencoded",
),
));
$response = curl_exec($curl);
$a = json_decode($response,true);
curl_close($curl);
$url = $a['data']['url']; //获取接口的图片链接
if(!isset($_POST ['http'])){
$url = str_replace("https","http",$url); //如果链接协议不是http就改成http
}
if($url=="") return false; //如果图片链接为空则不继续允行
if($filename=="") {
$ext=strrchr($url,"."); //获取图片后缀
if($ext!=".gif" && $ext!=".jpg" && $ext!=".png") return false; //如果不是图片则不继续运行
$filename = substr($url, strrpos($url, '/')+1); //获取图片名
}
ob_start(); //输出缓冲区
readfile($url); //读取文件,并写入到输出缓冲
$img = ob_get_contents(); //返回输出缓冲区的内容
ob_end_clean(); //清空缓冲区并关闭输出缓冲
$fp2=@fopen($filename, "a"); //打开文件 a:写入方式打开
fwrite($fp2,$img); //将内容写入文件夹中
fclose($fp2); //关闭文件夹
}elseif (($_GET['api'] === 'acg-picture')){
$localurl="*.{gif,jpg,png}"; //这将得到一个文件夹中的所有gif,jpg和png图片的数组
$img_array=glob($localurl,GLOB_BRACE);
$img=array_rand($img_array); //从数组中选择一个随机图片
$imgurl=$img_array[$img];
$imgurl='https://'.$_SERVER['SERVER_NAME'].'/images/acg/'.$imgurl; //这个需要你们自行修改
header("location:$imgurl"); //在页面显示图片地址
}
?>
使用步骤
获取之后就是使用步骤了,也很简单直接获取就行
https://api.396zy.cn/acg/acg-api.php?api=api-acg
结语
路径需要你们自行修改,这里就不多说了
© 版权声明
THE END
喜欢就支持一下吧
相关推荐
- 最新
- 最热
只看作者