前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >远程采集接口图片案例

远程采集接口图片案例

作者头像
Youngxj
发布2018-06-08 10:38:48
1.1K0
发布2018-06-08 10:38:48
举报
文章被收录于专栏:Youngxj

刚才逛小诗梦博客的时候看到他发布了一个随机图的接口,访问了一下,哇,全是小姐姐,所以果断采集了,顺便把采集源码发出来,让他们的图变成自己的图(/大笑)

代码语言:javascript
复制
<?php

header('Content-type: application/json');

//图片接口地址(这里又要拿小诗梦开刀了)
$url = 'https://cdn.mom1.cn/?mom=302';
// 图片存放文件夹
$path = 'images/';
//获取图片真实地址
$url = imgget($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 imgget($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_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;
}
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2018-6-7 17,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档