php curl自动采集远程服务器图片方法

在php中用来操作远程图片的方法有很多,本文章只讲到简单的一个curl就可以实现了,如果各位想深入了解,模仿用户的话可以参考我们网站其它方法,代码如下:

  1. <?php
  2. $url = "http://www.phpfensi.com/img/logo.jpg";
  3. $filename = 'curl.gif';
  4. getImg($url, $filename);
  5. /*
  6. *@通过curl方式获取制定的图片到本地
  7. *@ 完整的图片地址
  8. *@ 要存储的文件名
  9. */
  10. function getImg($url = "", $filename = "") {
  11. if(is_dir(basename($filename))) {
  12. echo "The Dir was not exits";
  13. Return false;
  14. }
  15. //去除URL连接上面可能的引号
  16. $url = preg_replace( '/(?:^['"]+|['"/]+$)/', '', $url );
  17. $hander = curl_init();
  18. $fp = fopen($filename,'wb');
  19. curl_setopt($hander,CURLOPT_URL,$url);
  20. curl_setopt($hander,CURLOPT_FILE,$fp);
  21. curl_setopt($hander,CURLOPT_HEADER,0);
  22. curl_setopt($hander,CURLOPT_FOLLOWLOCATION,1);
  23. //curl_setopt($hander,CURLOPT_RETURNTRANSFER,false);//以数据流的方式返回数据,当为false是直接显示出来
  24. curl_setopt($hander,CURLOPT_TIMEOUT,60);
  25. /*$options = array(
  26. CURLOPT_URL=> 'http://www.phpfensi.com/img/logo.jpg',
  27. CURLOPT_FILE => $fp,
  28. CURLOPT_HEADER => 0,
  29. CURLOPT_FOLLOWLOCATION => 1,
  30. CURLOPT_TIMEOUT => 60
  31. ); //开源代码phpfensi.com
  32. curl_setopt_array($hander, $options);
  33. */
  34. curl_exec($hander);
  35. curl_close($hander);
  36. fclose($fp);
  37. Return true;
  38. }
  39. ?>