php 盗链新浪图片_php实现图片批量下载到本地实例(可采防盗链)

这篇博客介绍了如何使用PHP实现远程图片的批量下载到本地,包括处理有防盗链的图片,以及如何生成缩略图。示例代码展示了利用fopen、file_put_contents和curl方法下载图片,并提供了批量下载的实现。
摘要由CSDN通过智能技术生成

关于直接采集远程机器图片之后再下载到我们本地其实非常的简单,我们通常会使用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;

}

?>

本文地址:

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值