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 相关文章推荐
5.PHP的其他功能
Oct 09 PHP
PHP数据库开发知多少
Oct 09 PHP
建站常用13种PHP开源CMS比较
Aug 23 PHP
Can't create/write to file 'C:\WINDOWS\TEMP\...MYSQL报错解决方法
Jun 30 PHP
使用PHP生成PDF方法详解
Jan 23 PHP
PHP+Ajax验证码验证用户登录
Jul 20 PHP
PHP的mysqli_select_db()函数讲解
Jan 23 PHP
PHP PDOStatement::fetchColumn讲解
Jan 31 PHP
详解PHP变量传值赋值和引用赋值变量销毁
Mar 23 PHP
PHP设计模式之观察者模式定义与用法分析
Apr 04 PHP
php实例化一个类的具体方法
Sep 19 PHP
基于Laravel 多个中间件的执行顺序详解
Oct 21 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开发中的中文编码问题
2013/08/08 PHP
PHP反射类ReflectionClass和ReflectionObject的使用方法
2013/11/13 PHP
php数组去重复数据示例
2014/02/25 PHP
php画图实例
2014/11/05 PHP
PHP获取二叉树镜像的方法
2018/01/17 PHP
Laravel jwt 多表(多用户端)验证隔离的实现
2019/12/18 PHP
yii框架结合charjs统计上一年与当前年数据的方法示例
2020/04/04 PHP
用javascript实现兼容IE7的类库 IE7_0_9.zip提供下载
2007/08/08 Javascript
javascript-TreeView父子联动效果保持节点状态一致
2007/08/12 Javascript
利用google提供的API(JavaScript接口)获取网站访问者IP地理位置的代码详解
2010/07/24 Javascript
javascript标签在页面中的位置探讨
2013/04/11 Javascript
jQuery移除tr无效的解决方法(tr是动态添加)
2014/09/22 Javascript
简介JavaScript中POSITIVE_INFINITY值的使用
2015/06/05 Javascript
[js高手之路]寄生组合式继承的优势详解
2017/08/28 Javascript
Vue 页面切换效果之 BubbleTransition(推荐)
2018/04/08 Javascript
解决循环中setTimeout执行顺序的问题
2018/06/20 Javascript
浅谈Vue.use的使用
2018/08/29 Javascript
angularJs中orderBy筛选以及filter过滤数据的方法
2018/09/30 Javascript
微信小程序实现左侧滑栏过程解析
2019/08/26 Javascript
vue data有值,但是页面{{}} 取不到值的解决
2020/11/09 Javascript
Python break语句详解
2014/03/11 Python
闭包在python中的应用之translate和maketrans用法详解
2014/08/27 Python
python根据给定文件返回文件名和扩展名的方法
2015/03/27 Python
python多进程和多线程究竟谁更快(详解)
2017/05/29 Python
Python机器学习之scikit-learn库中KNN算法的封装与使用方法
2018/12/14 Python
【python】matplotlib动态显示详解
2019/04/11 Python
python读取mysql数据绘制条形图
2020/03/25 Python
Python基于mediainfo批量重命名图片文件
2020/12/29 Python
python使用Windows的wmic命令监控文件运行状况,如有异常发送邮件报警
2021/01/30 Python
瑞士领先的网上超市:LeShop.ch
2018/11/14 全球购物
Joseph官网:英国小众奢侈品牌
2019/05/17 全球购物
自我反省检讨书
2014/01/23 职场文书
民主评议党员自我评议范文2014
2014/09/26 职场文书
2014年安全保卫工作总结
2014/11/13 职场文书
2015年小学辅导员工作总结
2015/05/27 职场文书
微软Win11什么功能最惊艳? Windows11新功能特性汇总
2021/11/21 数码科技