php下保存远程图片到本地的办法


Posted in PHP onAugust 08, 2010

今天在整理资料的时候发现以前找到的一个函数,通过这个函数我们就可以实现上面的功能。

主要函数:

function GrabImage($url,$filename="") { 
if($url=="") return false; if($filename=="") { 
$ext=strrchr($url,"."); 
if($ext!=".gif" && $ext!=".jpg" && $ext!=".png") return false; 
$filename=date("YmdHis").$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://www.baidu.com/img/baidu_logo.gif","logo.gif"); 
if($img){ 
echo '<img src="'.$img.'">'; 
}else{ 
echo "false"; 
}

这是保存google的logo的例子,获取到的图片保存在同级目录下面。

获取一系列的有规律的图片(例如:以数字1-100命名的100张图片):

for ($i=1;$i<=100;$i++){ 
$img=GrabImage("http://www.yourimagesite.com/images/$i.gif","images/$i.gif"); 
}

上面的www.yourimagesite.com是图片的网址,需要自己修改,程序执行完后,所有的图片将会保存到images目录下面。
PHP 相关文章推荐
用PHP实现登陆验证码(类似条行码状)
Oct 09 PHP
phpwind中的数据库操作类
Jan 02 PHP
PHP的范围解析操作符(::)的含义分析说明
Jul 03 PHP
php 判断数组是几维数组
Mar 20 PHP
解析php类的注册与自动加载
Jul 05 PHP
php后门URL的防范
Nov 12 PHP
PHP两种去掉数组重复值的方法比较
Jun 19 PHP
php正则匹配html中带class的div并选取其中内容的方法
Jan 13 PHP
WIN8.1下搭建PHP5.6环境
Apr 29 PHP
yii2.0整合阿里云oss删除单个文件的方法
Sep 19 PHP
redis+php实现微博(三)微博列表功能详解
Sep 23 PHP
laravel 解决后端无法获取到前端Post过来的值问题
Oct 22 PHP
用PHP实现递归循环每一个目录
Aug 08 #PHP
为IP查询添加GOOGLE地图功能的代码
Aug 08 #PHP
PHP下对数组进行排序的函数
Aug 08 #PHP
PHP 冒泡排序算法的实现代码
Aug 08 #PHP
php下关于Cannot use a scalar value as an array的解决办法
Aug 08 #PHP
在PHP中实现Javascript的escape()函数代码
Aug 08 #PHP
PHP下escape解码函数的实现方法
Aug 08 #PHP
You might like
PHP面向对象编程快速入门
2006/10/09 PHP
PHP代码审核的详细介绍
2013/06/13 PHP
ThinkPHP控制器详解
2015/07/27 PHP
PHP5.2中PDO的简单使用方法
2016/03/25 PHP
PHP怎样用正则抓取页面中的网址
2016/08/09 PHP
php基于闭包实现函数的自调用(递归)实例分析
2016/11/11 PHP
PHP实现截取中文字符串不出现?号的解决方法
2016/12/29 PHP
CI框架实现优化文件上传及多文件上传的方法
2017/01/04 PHP
Thinkphp事务操作实例(推荐)
2017/04/01 PHP
php从数据库中获取数据用ajax传送到前台的方法
2018/08/20 PHP
JavaScript实现的简单拖拽效果
2015/06/01 Javascript
javascript中类的定义方式详解(四种方式)
2015/12/22 Javascript
仅9张思维导图帮你轻松学习Javascript 就这么简单
2016/06/01 Javascript
BootStrap 轮播插件(carousel)支持左右手势滑动的方法(三种)
2016/07/07 Javascript
详解jquery validate实现表单验证 (正则表达式)
2017/01/18 Javascript
Agularjs妙用双向数据绑定实现手风琴效果
2017/05/26 Javascript
JScript实现地址选择功能
2017/08/15 Javascript
React-Router如何进行页面权限管理的方法
2017/12/06 Javascript
vue裁切预览组件功能的实现步骤
2018/05/04 Javascript
js中!和!!的区别与用法
2020/05/09 Javascript
基于Vue sessionStorage实现保留搜索框搜索内容
2020/06/01 Javascript
JavaScript实现沿五角星形线摆动的小圆实例详解
2020/07/28 Javascript
vue循环中点击选中再点击取消(单选)的实现
2020/09/10 Javascript
[02:49]DOTA2完美大师赛首日观众采访
2017/11/23 DOTA
[01:36]极致酷炫!TI9典藏宝瓶+撼地者至宝展示
2019/06/11 DOTA
Python中random模块用法实例分析
2015/05/19 Python
深入理解python中的select模块
2017/04/23 Python
基于python神经卷积网络的人脸识别
2018/05/24 Python
如何基于python操作excel并获取内容
2019/12/24 Python
pandas分组聚合详解
2020/04/10 Python
J2EE是技术还是平台还是框架
2016/08/14 面试题
现金出纳岗位职责
2014/03/15 职场文书
幼儿园大班毕业教师寄语
2014/04/03 职场文书
竞选班长演讲稿500字
2014/08/22 职场文书
新员工试用期自我评价
2015/03/10 职场文书
创业计划书之面包店
2019/09/17 职场文书