首页 > 代码库 > php使用curl来获取远程图片

php使用curl来获取远程图片

 

<?php$url = "图片绝对地址/thumbnail.jpg";$filename = ‘curl.jpg‘;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=> ‘/thum-f3ccdd27d2000e3f9255a7e3e2c4880020110622095243.jpg‘,        CURLOPT_FILE => $fp,        CURLOPT_HEADER => 0,        CURLOPT_FOLLOWLOCATION => 1,        CURLOPT_TIMEOUT => 60    );    curl_setopt_array($hander, $options);    */    curl_exec($hander);    curl_close($hander);    fclose($fp);    return  true;}?>

 

 

$curl = curl_init();curl_setopt($curl, CURLOPT_URL, ‘ht(空格)tp://ww(空格)w.fantuan(空格)pu.com/data/attachment/forum/201405/27/001523qiithinnccttzc6i.jpg‘); curl_setopt($curl, CURLOPT_REFERER, ‘‘);curl_setopt($curl, CURLOPT_USERAGENT, ‘Baiduspider‘);curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1); $result = curl_exec($curl);header(‘Content-type: image/JPEG‘);echo $result;

关键是设置CURLOPT_RETURNTRANSFER为1,不立刻显示,然后设置header,让网页以jpeg方式解释,最后才echo输出数据;

 

php使用curl来获取远程图片