PHP将API接口获取的图片下载到本地

前言

现在有很多站点都会用到图片,但又不想自己一个一个下载上传,这里就是用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"); //在页面显示图片地址
}
?>
图片[1]-PHP将API接口获取的图片下载到本地-随风去-396资源

使用步骤

获取之后就是使用步骤了,也很简单直接获取就行

https://api.396zy.cn/acg/acg-api.php?api=api-acg

结语

路径需要你们自行修改,这里就不多说了

© 版权声明
THE END
喜欢就支持一下吧
点赞7赞赏 分享
评论 共1条

请登录后发表评论