PHP curl 采集内容之规则 及图片下载方法2

/**
 *抓取远程图片到本地
 */
// 方法一
$url = '';
$img = file_get_contents($url);
file_put_contents('1.png',$img);

// 方法二
class Spider {

 /*
  * @param string $url,图片路径,如: http://www.xxx.com/1.jpg
  * @param string $path, 存放的目录
  */
public function downloadImage($url, $path='./')
  {
    $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);
 
    $this->saveAsImage($url, $file, $path);
  }
  /*
  * @param string $url,图片路径,如: http://www.xxx.com/1.jpg
  * @param string $file,图片文件流
  * @param string $path, 存放的目录
  */
  private function saveAsImage($url, $file, $path)
  {
    $filename = pathinfo($url, PATHINFO_BASENAME);
    $resource = fopen($path . $filename, 'a');
    fwrite($resource, $file);
    fclose($resource);
  }
} 
$images = array(); // 图片url,如:http://www.xxx.com/1.jpg
$spider = new Spider();
 
foreach ( $images as $url ) {
  $spider->downloadImage($url);
}

  

原文地址:https://www.cnblogs.com/lin3615/p/3543548.html