文档章节

PHP下载远程图片并保存到本地方法

Jack088
 Jack088
发布于 2016/08/15 11:02
字数 198
阅读 20
收藏 0
 /*
     * 上传网络图片
     */
    function GrabImage($url,$filename="") {
		if($url=="") return false;
		
		if($filename=="") {
			$ext=strrchr($url,".");
			if($ext!=".jpeg" && $ext!=".jpg" && $ext!=".png") return false; 
			preg_match('/\/([^\/]+\.[a-z]{3,4})$/i',$url,$matches);
			$image_name = strToLower($matches[1]);
			$filename='data/runtime/images/'.$image_name;
		}else{
			$image_name = $filename;
			$filename='data/runtime/images/'.$filename;
		}
//方法一
        $ch = curl_init();
        curl_setopt($ch, CURLOPT_POST, 0);
        curl_setopt($ch,CURLOPT_URL,$url);
        curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
        $file_content = curl_exec($ch);
        curl_close($ch);
        $downloaded_file = fopen($filename, 'w');
        fwrite($downloaded_file, $file_content);
        fclose($downloaded_file);
        return $image_name;

//方法二        
//        $src_im = imagecreatefromjpeg($url);
//        $srcW = ImageSX($src_im); //获得图像的宽
//        $srcH = ImageSY($src_im); //获得图像的高
//        $dst_im = ImageCreateTrueColor($srcW,$srcH); //创建新的图像对象
//        imagecopy($dst_im, $src_im, 0, 0, 0, 0, $srcW, $srcH);
//        imagejpeg($dst_im, $filename); //创建缩略图文件
 //       return $image_name;

//方法三
//        ob_start();
//        readfile($url);
//        $img = ob_get_contents();
//        ob_end_clean();
//        $size = strlen($img);
//       $fp2=@fopen($filename, "a");
//       fwrite($fp2,$img);
//        fclose($fp2);
//        return $image_name;
	}

ps: http://www.jb51.net/article/78455.htm http://www.cnblogs.com/mengxiaotian/p/5051579.html http://blog.csdn.net/iefreer/article/details/46930239

© 著作权归作者所有

共有 人打赏支持
Jack088
粉丝 41
博文 413
码字总数 65170
作品 0
程序员
私信 提问
最新整合阿里云OSS方法-phpcms

1、为简化整合步骤,使用该方法整合后,默认是所有图片、附件都要上传至OSS,并未在后台设置中添加是否启用OSS的开关。 2、上传的图片或附件,还是会在PHPCMS所在服务器保留一份。主要是基于...

豆花饭烧土豆
2016/11/10
11
0
Python爬虫关于urlretrieve()函数的使用笔记

urllib 模块提供的 urlretrieve() 函数。urlretrieve() 方法直接将远程数据下载到本地。 参数 finename 指定了保存本地路径(如果参数未指定,urllib会生成一个临时文件保存数据。) 参数 re...

楠木楠
2016/09/19
1K
0
Android 之 远程图片获取和本地缓存

概述 对于客户端——服务器端应用,从远程获取图片算是经常要用的一个功能,而图片资源往往会消耗比较大的流量,对应用来说,如果处理不好这个问题,那会让用户很崩溃,不知不觉手机流量就用...

jdroid
2012/04/02
0
0
python urllib模块

在python中urllib模块提供上层接口,可以使用它下载读取数据,这里举个例子,把sina首页的html抓取下来显示出来.有2种方法可以实现. 1.urlopen(url, data=None, proxies=None) urlopen(url [, ...

乐晨
2013/04/11
0
0
Python爬虫--抓取百度贴吧图片

在我们日常上网浏览网页的时候,经常会看到一些好看的图片,我们就希望把这些图片保存下载,或者用户用来做桌面壁纸,或者用来做设计的素材。   我们最常规的做法就是通过鼠标右键,选择另...

周东尧
2016/08/20
121
0

没有更多内容

加载失败,请刷新页面

加载更多

方之熙博士被任命为RISC-V基金会中国顾问委员会主席,加速RISC-V ISA在中国的应用

中国顾问委员会将就RISC-V基金会的教育和应用推广战略提供指导 今天在中国乌镇举行的世界互联网大会(World Internet Conference)上,RISC-V基金会(RISC-V Foundation)宣布,半导体行业资深人...

whoisliang
30分钟前
1
0
为了用户体验,不要做浏览器兼容

读者看到文章标题也许会感到奇怪,按照通常的经验来说,为了用户体验应该做浏览器兼容,以便让不同的浏览器用户都能有好的体验,从而增加网站的流量,但是我认为做浏览器兼容属于同样的工作重...

Bob2100
31分钟前
1
0
分布式定时任务架构 (二) xxl-job二次开发实践

4个月前,公司有任务调度的需求,需要一周内完成,时间非常紧。 需求有三点: web界面编辑cron表达式,启动,停止任务 接入公司的rpc成本较低,公司有自研的rpc,研发人员希望共用同一套注解 ...

勇哥和你一起学技术
47分钟前
1
0
React和Redux的连接react-redux

通过Redux文档来了解react-redux,在一段时间的实践后准备翻一翻源代码,顺便做些相关的总结。我看的代码的npm版本为v4.0.0,也就是说使用的React版本是0.14.x。 react-redux提供两个关键模块...

前端攻城老湿
今天
1
0
1、Mybatis连接池配置 和 Context.xml的配置

注意: (1)mybatis 3.2 之前 通过 set get 方法 获取相关属性。之后通过属性姓名获取相关关联。 (2)mybatis 映射 优先为 sql 语句中的别名与实体类的属性进行映射。 (3)jndi Java用于调...

KingFightingAn
今天
1
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部