远程采集接口图片案例

  • 内容
  • 相关

可采集图片到本地服务器,把别人的图变成自己的...

代码如下:

<?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;
}

使用方法:

     1.新建一个index.php文件,把上面的代码复制粘贴到里面。(记得修改图片接口)

     2.创建一个文件夹images(与index.php同级)

     3.可以使用监控,进行自动采集

 

本文标签:

版权声明:若无特殊注明,本文皆为《猫月灵》原创,转载请保留文章出处。

本文链接:远程采集接口图片案例 - https://www.moonwl.cn/post-50.html

站长之家:90105406,欢迎大佬入驻!点我快速加入

发表评论

电子邮件地址不会被公开。 必填项已用*标注

未显示?请点击刷新

允许邮件通知

评论

4条评论
  1. avatar

    渣渣 Lv.1 Chrome 37.0.0.0 Android 5.0.2 回复

    博主能不能提供几个图片接口?

    湖南省 电信

    1. 猫月灵 Sogou Explorer Windows 7 x64 Edition 回复

      回复了渣渣:tu.ynzyx.cn 这个是我的  其他的你可以自己去百度,有很多的。

      浙江省温州市 电信

    2. 渣渣 Lv.1 Chrome 5 Android 5.0.2 回复

      回复了猫月灵:谢谢大佬提供

      湖南省 电信

  2. avatar

    渣渣 Lv.1 Chrome 37.0.0.0 Android 5.0.2 回复

    博主能不能提供几个借口?

    湖南省 电信