PHP抓取远程图片,php下载远程图片

作者:Liaodeity - 2015年07月24日

PHP抓取远程图片,php下载远程图片,php保存远程图片到本地

函数

/**
 * [getImg 抓取远程图片]
 * @param  string $url      [图片URL地址]
 * @param  string $filename [保存图片的路径]
 * @return [boolean]           [TRUE成功抓取]
 * @author [建百站www.jianbaizhan.com]
 */
function getImg($url = "", $filename = "") {
    if(file_exists($filename)) {//图片已存在
        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_TIMEOUT,60); 
    curl_exec($hander); 
    curl_close($hander); 
    fclose($fp); 
    return  true; 
}

使用方法

打印出来,是为了判断抓取图片是否成功,对于图片的后缀名,可以使用函数获取相对于的后缀名。

获取后缀名方法:http://www.jianbaizhan.com/article/detail/id/237.html

$url = 'http://www.baidu.com/img/bdlogo.png';
$re = getImg($url,md5($url).'.png');
var_dump($re);

可能会有一部分图片无法抓取成功,有可能是因为有些图片,远程服务器防止抓取的原因。

本文作者: Liaodeity

本文链接: https://www.jianbaizhan.com/article/241

版权声明: 本博客所有文章除特别声明外,均采用 CC BY-NC-SA 3.0 许可协议。转载请注明出处!


 请勿发布不友善或者负能量的内容。审查将对发布广告等违规信息进行处罚!
Jasmine 8年前

支持一下!