获取远程图片并保存到本地的方法

获取远程图片并保存到本地的方法,适用于数据同步和采集内容图片功能

	function GrabImage($url, $filename = "") { 
	 if ($url == ""):return false; 
	 endif; 
	 //如果$url地址为空,直接退出 
	 if ($filename == "") { 
	 //如果没有指定新的文件名 
	 $ext = strrchr($url, "."); 
	 //得到$url的图片格式 
	 if ($ext != ".gif" && $ext != ".jpg"):return false; 
	 endif; 
	 //如果图片格式不为.gif或者.jpg,直接退出 
	 $filename = date("dMYHis") . $ext; 
	 //用天月面时分秒来命名新的文件名 
	 }  
	 ob_start();//打开输出 
	 readfile($url);//输出图片文件 
	 $img = ob_get_contents();//得到浏览器输出 
	 ob_end_clean();//清除输出并关闭 
	 $size = strlen($img);//得到图片大小 
	 $fp2 = @fopen($filename, "a"); 
	 fwrite($fp2, $img);//向当前目录写入图片文件,并重新命名 
	 fclose($fp2); 
	 return $filename;//返回新的文件名 
	}
	
	//调用部分
	  
	$img = GrabImage("http://imgsrc.baidu.com/baike/abpic/item/6648d73db0edd1e89f3d62f7.jpg", ""); 
	if ($img):echo '<pre><img src="' . $img . '"></pre>'; 
	//如果返回值为真,这显示已经采集到服务器上的图片 
	else:echo "false"; 
	endif; 
	//否则,输出采集失败 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值