随机图片接口远程采集PHP代码

低调G
2021-03-23 / 8 评论 / 765 阅读 / 正在检测是否收录...

可以把别人的随机图片API接口图片采集到本地服务器,把别人的图变成自己的。

代码如下:

[hide]

<?php
/**
 * 随机图片接口远程采集
 */
header('Content-type: application/json');
     
//图片接口地址
$url = '随机图片接口地址';
// 图片存放文件夹
$path = 'images/';
//获取图片真实地址
$url = url_get($url);
//获取文件名
$filenames = basename($url);
     
$file_c = $path . $filenames;
     
if (file_exists($file_c)) {
        //文件已经存在
        echo json_encode(array('url' => $url, 'filename' => $filenames, 'state' => '202'));
} else {
    if (download($url, $path)) {
        //采集成功
        echo json_encode(array('url' => $url, 'filename' => $filenames, 'state' => '200'));
    } else {
            //采集失败
        echo json_encode(array('url' => $url, 'filename' => $filenames, 'state' => '201'));
    }
    
}
     
function url_get($url) {
        // 获取图片真实地址
        $ch = curl_init();
        curl_setopt($ch, CURLOPT_URL, $url);
        curl_setopt($ch, CURLOPT_VERBOSE, true);
        curl_setopt($ch, CURLOPT_HEADER, true);
        curl_setopt($ch, CURLOPT_NOBODY, true);
        curl_setopt($ch, CURLOPT_CUSTOMREQUEST, 'GET');
        curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
        curl_setopt($ch, CURLOPT_TIMEOUT, 20);
        curl_setopt($ch, CURLOPT_AUTOREFERER, true);
        curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
        // 下面两行为不验证证书和 HOST,建议在此前判断 URL 是否是 HTTPS
        curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
        curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false);
        // $ret 返回跳转信息
        $ret = curl_exec($ch);
        // $info 以 array 形式返回跳转信息
        $info = curl_getinfo($ch);
     
        // 记得关闭 curl
        curl_close($ch);
        // 跳转后的 URL 信息
        return $info['url'];
}
     
    function download($url, $path = 'images/') {
        //远程下载保存
        if (!file_exists($path)) {
            mkdir("$path", 0777, true);
        }
        $ch = curl_init();
        curl_setopt($ch, CURLOPT_URL, $url);
        curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
        curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 2);
        curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
        curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 30);
        $file = curl_exec($ch);
        curl_close($ch);
        $filename = pathinfo($url, PATHINFO_BASENAME);
        $resource = fopen($path . $filename, 'a');
        fwrite($resource, $file);
        fclose($resource);
        return true;
}

[/hide]

效果如下:


采集到的图片会保存在你所设置的文件夹内。

使用方法:

新建一个caiji.php或其他文件文件名自定,把上面的代码复制粘贴到里面。
PS:记得修改图片接口。

0

评论 (8)

取消
  1. 头像
    52758455
    Windows 7 · Google Chrome

    让我康康!OωO

    回复
  2. 头像
    weclont
    Windows 10 · Google Chrome

    让我康康!

    回复
  3. 头像
    2315299231
    Android · Google Chrome

    牛逼了我带走了

    回复
  4. 头像
    112233443
    Android · Google Chrome

    带走不客气啦

    回复
  5. 头像
    1033254
    Windows 10 · Google Chrome

    ::aru:knife:: 6哇

    回复
  6. 头像
    xiaobailoves
    Windows 7 · Google Chrome

    为啥查看不了信息。。。。

    回复
  7. 头像
    xiaobailoves
    Windows 7 · Google Chrome

    我就拿走不客气了!

    回复
  8. 头像
    xiaobailoves
    Windows 7 · Google Chrome

    OωO吹爆

    回复