文档章节

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

Jack088
 Jack088
发布于 2016/08/15 11:02
字数 198
阅读 16
收藏 0
点赞 0
评论 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
博文 383
码字总数 57931
作品 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
php文件上传与下载

php文件上传 在通过form表单进行文件上传的,PHP需要用到预定义变量$_FILES $_FILES['userfile']['name'] 客户端机器文件的原名称。 $_FILES['userfile']['type'] 文件的 MIME 类型,如果浏览...

Corwien
2016/04/19
107
0
python urllib模块

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

乐晨
2013/04/11
0
0
PHP打包压缩工具

又一款与PHP解压缩相匹配的打包(压缩)工具,其特点是可以在远程服务器上方便、快速的压缩文件,并且提供下载链接,方便下载,是网站备份的好工具。其他用途有待开发!(声明:此程序为开源...

xiboooooo
2013/11/06
2.2K
1
Python爬虫--抓取百度贴吧图片

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

周东尧
2016/08/20
121
0
【python学习】网络爬虫——基础案例教程

一,获取整个页面数据 Urllib 模块提供了读取web页面数据的接口,我们可以像读取本地文件一样读取www和ftp上的数据。首先,我们定义了一个getHtml()函数:   urllib.urlopen()方法用于打开一...

wdl542710518
2016/05/09
0
0
又一编辑神器-百度编辑器-Ueditor

又一编辑神器-百度编辑器-Ueditor (Liondenhsdlionden@gmail.com 转载说明)     前段时间发表过一篇关于“KindEditor在JSP中使用”的博文。这几天在沈阳东软进行JavaWeb方面的实习工作...

KavenSu
2014/06/26
0
0
文件包含漏洞总结

本实验是基于DVWA和sqli-labs的实验环境 实验平台搭建:下载Wamp集成环境,并下载DVWA和sqli-labs和压缩包解压至wampwww的目录下。安装只要注意Wamp环境的数据库名和密码对应即可。 0x01:文...

wt7315
2016/10/18
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

CVE-2013-0077 堆溢出分析

找了很久才发现这个环境比较容易搭建分析... 环境: 系统---Win XP SP3 漏洞程序:QQPlayer 3.7.892.400 出错DLL:quartz.dll 6.5.2600.5512 调试工具:x32db+gflag.exe 过程: 首先gflag设置...

Explorer0
18分钟前
6
0
python上传文件

//注意 <form action="/login/" method="post" enctype="multipart/form-data"> f=request.FILES.get('fafa') ff=open(f.name,mode='wb') for i in f.chunks(): ff.write(i) ff.close()......

南桥北木
30分钟前
0
0
CISCO VPN Client Reason 442 WIN8/10错误解决方案

http://jdkleo.iteye.com/blog/2163493 引用 http://my.oschina.net/cloudcoder/blog/220391?p={{currentPage 1}} 在使用cisco VPN 客户端登录时,产生Reason 442:Failedto enable Virtual......

chenfj_fer
34分钟前
0
0
信号量有没有容量限制?

之前一直误以为信号量初始化的时候那个初始化的值是信号量的“容量”,昨天同事指出了我的错误,最初我是不相信的,经过以下代码实践,证明了我的错误: Java版: import java.util.concurr...

锟斤拷烫烫烫
37分钟前
0
0
【RocketMQ】Message存储笔记

概述 消息中间件存储分为三种,一是保存在内存中,速度快但会因为系统宕机等因素造成消息丢失;二是保存在内存中,同时定时将消息写入DB中,好处是持久化消息,如何读写DB是MQ的瓶颈;三是内...

SaintTinyBoy
49分钟前
0
0
Android应用Context详解及源码解析

Android应用Context详解及源码解析 本文定位:优质文章收集 本文转载 1 背景 今天突然想起之前在上家公司(做TV与BOX盒子)时有好几个人问过我关于Android的Context到底是啥的问题,所以就马...

lichuangnk
今天
0
0
PostgreSQL的昨天今天和明天

PostgreSQL 是一种非常复杂的对象-关系型数据库管理系统(ORDBMS), 也是目前功能最强大,特性最丰富和最复杂的自由软件数据库系统。有些特性甚至连商业数据库都不具备。 这个起源于伯克利(...

闻术苑
今天
1
0
Mysql对自增主键ID进行重新排序

1,删除原有主键: ALTER TABLE `table_name` DROP `id`; 2,添加新主键字段: ALTER TABLE `table_name` ADD `id` MEDIUMINT( 8 ) NOT NULL FIRST; 3,设置新主键: ALTER TABLE `table_nam......

niithub
今天
0
0
福利篇:免费csdn vip账号分享

分享一个发布免费csdn vip账号的网站:啰嗦vip www.lostvip.com , 各种软件开发类的视频教程:慕课网、动脑学院、黑马各大培训机构VIP视频教程,非常不错!

在水一方发盐人
今天
1
0
Nginx+Tomcat搭建高性能负载均衡集群

一、 工具   nginx-1.8.0   apache-tomcat-6.0.33 二、 目标   实现高性能负载均衡的Tomcat集群:    三、 步骤   1、首先下载Nginx,要下载稳定版:      2、然后解压两个Tom...

码代码的小司机
今天
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部