小兔网

关于直接采集远程机器图片之后再下载到我们本地其实非常的简单,我们通常会使用fopen 与 file_put_contents 或者高级点的curl来实现,下面我整理了几个比较好用的图片下载到本地例子,大家一起看看。

对于没有防盗链的图片

有防盗链的图片

curlg($url, $fromurl);    $size = file_put_contents(getcwd() . $filepath . $filename . $ext, $re); //返回大小    return array(        $filepath . $filename . $ext,        $size    );}?>

批量采集代码:

_get("keep"); //1从缓存获取2删除缓存/重新缓存    $id = $this->_get("id");    $id = $id ? $id : 0;    $nextid = $id + 1;    if ($keep != 1) {        $data = M('Cjlist')->where("status=1")->select();        S("keepcjdata", $data, 3600);    } else {        $data = S("keepcjdata");    }    $endid = count($data);    //echo $id;    //echo $endid;    if ($endid == $id) {        exit('所有图片下载完成!');    }    //echo $endid;    $data2['cover_imgurl'] = $this->imgdown2($data[$id]['cover_imgurl']);    //echo $data[$id]['thum_url'];    $data2['thum_url'] = $this->imgdown2($data[$id]['thum_url'], 'thum_'); //中型图片type    $data2['id'] = $data[$id]['id'];    if (!$data2['thum_url'] || !$data2['cover_imgurl']) {        $data2['status'] = - 1;    } else {        $data2['status'] = 2;    }    $res = M('Cjlist')->save($data2);    //$this->echosql();    if ($res) {        echo '下载完成ID:' . $data2['id'] . " 前往下一个ID下载";    } else {        echo '保存出错,正在重试刷新。';    }    //dump($data2);    //dump($data);    }?>

同时还可以生成缩略图哦

GrabImage2($picurl, $mulu, time() , $fromurl);    //$img = file_get_contents($picurl);    //echo file_put_contents('222.jpg',$img);    //exit;    //$reimg="/20140529/1401333398.jpg";    //dump($reimg);    //exit;    if ($reimg[1] <= 0) {        exit("下载图片失败");    }    $reimg = $reimg[0];    import('ORG.Util.Image');    $Image = new Image();    $imgurl = getcwd() . $reimg;    $ext = strrchr($imgurl, ".");    $thum_name = $Image->thumb($imgurl, "thum_" . time() . $ext, '', '288', '432');    rename(getcwd() . "/" . $thum_name, getcwd() . $mulu . $thum_name); //移动到文件夹里面    $imginfo = $Image->getImageInfo(getcwd() . $mulu . $thum_name);    //dump($imginfo);    $imgarr['cover_url'] = $reimg;    $imgarr['thum_url'] = $mulu . $thum_name;    $imgarr['thum_w'] = $imginfo['width'];    $imgarr['thum_h'] = $imginfo['height'];    return $imgarr;}?>


本文地址:

转载随意,但请附上文章地址:-)