php curl自动采集远程服务器图片方法
在php中用来操作远程图片的方法有很多,本文章只讲到简单的一个curl就可以实现了,如果各位想深入了解,模仿用户的话可以参考我们网站其它方法,代码如下:
- <?php
- $url = "http://www.phpfensi.com/img/logo.jpg";
- $filename = 'curl.gif';
- getImg($url, $filename);
- /*
- *@通过curl方式获取制定的图片到本地
- *@ 完整的图片地址
- *@ 要存储的文件名
- */
- function getImg($url = "", $filename = "") {
- if(is_dir(basename($filename))) {
- echo "The Dir was not exits";
- Return false;
- }
- //去除URL连接上面可能的引号
- $url = preg_replace( '/(?:^['"]+|['"/]+$)/', '', $url );
- $hander = curl_init();
- $fp = fopen($filename,'wb');
- curl_setopt($hander,CURLOPT_URL,$url);
- curl_setopt($hander,CURLOPT_FILE,$fp);
- curl_setopt($hander,CURLOPT_HEADER,0);
- curl_setopt($hander,CURLOPT_FOLLOWLOCATION,1);
- //curl_setopt($hander,CURLOPT_RETURNTRANSFER,false);//以数据流的方式返回数据,当为false是直接显示出来
- curl_setopt($hander,CURLOPT_TIMEOUT,60);
- /*$options = array(
- CURLOPT_URL=> 'http://www.phpfensi.com/img/logo.jpg',
- CURLOPT_FILE => $fp,
- CURLOPT_HEADER => 0,
- CURLOPT_FOLLOWLOCATION => 1,
- CURLOPT_TIMEOUT => 60
- ); //开源代码phpfensi.com
- curl_setopt_array($hander, $options);
- */
- curl_exec($hander);
- curl_close($hander);
- fclose($fp);
- Return true;
- }
- ?>