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 相关文章推荐
在PWS上安装PHP4.0正式版
Oct 09 PHP
PHP mail 通过Windows的SMTP发送邮件失败的解决方案
May 27 PHP
ajax+php打造进度条 readyState各状态
Mar 20 PHP
深入PHP5中的魔术方法详解
Jun 17 PHP
PHP 获取远程文件大小的3种解决方法
Jul 11 PHP
ThinkPHP中的关联模型注意点
Jun 16 PHP
Yii多表联合查询操作详解
Jun 02 PHP
ThinkPHP3.2.1图片验证码实现方法
Aug 19 PHP
总结对比php中的多种序列化
Aug 28 PHP
PHP开发之用微信远程遥控服务器
Jan 25 PHP
PHP+iframe模拟Ajax上传文件功能示例
Jul 02 PHP
PHP7新特性
Mar 09 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/11/19 PHP
解密ThinkPHP3.1.2版本之模块和操作映射
2014/06/19 PHP
php通过array_shift()函数移除数组第一个元素的方法
2015/03/18 PHP
php计算到指定日期还有多少天的方法
2015/04/14 PHP
最新最全PHP生成制作验证码代码详解(推荐)
2016/06/12 PHP
PHP读取目录树的实现方法分析
2019/03/22 PHP
JQuery 简便实现页面元素数据验证功能
2007/03/24 Javascript
jquery 指南/入门基础
2007/11/30 Javascript
js弹出层之1:JQuery.Boxy (二)
2011/10/06 Javascript
Egret引擎开发指南之编译项目
2014/09/03 Javascript
原生的html元素选择器类似jquery选择器
2014/10/15 Javascript
纯JS代码实现气泡效果
2016/05/04 Javascript
用js实现简单算法的实例代码
2016/09/24 Javascript
真正好用的js验证上传文件大小的简单方法
2016/10/27 Javascript
Angularjs 实现移动端在线测评效果(推荐)
2017/04/05 Javascript
vue项目中实现图片预览的公用组件功能
2018/10/26 Javascript
Vue组件化开发之通用型弹出框的实现
2020/02/28 Javascript
5个你不知道的JavaScript字符串处理库(小结)
2020/06/01 Javascript
JS typeof fn === 'function' &amp;&amp; fn()详解
2020/08/22 Javascript
[05:35]DOTA2英雄梦之声_第13期_拉比克
2014/06/21 DOTA
Python制作数据导入导出工具
2015/07/31 Python
pytorch使用Variable实现线性回归
2019/05/21 Python
django框架使用orm实现批量更新数据的方法
2019/06/21 Python
Python-Seaborn热图绘制的实现方法
2019/07/15 Python
Python中*args和**kwargs的区别详解
2019/09/17 Python
python实现12306登录并保存cookie的方法示例
2019/12/17 Python
CSS3制作精致的照片墙特效
2016/06/07 HTML / CSS
HTML5 Canvas像素处理使用接口介绍
2012/12/02 HTML / CSS
JBL加拿大官方商店:扬声器、耳机等
2020/10/23 全球购物
双十佳事迹材料
2014/01/29 职场文书
工商干部先进事迹
2014/05/14 职场文书
2014年科技工作总结
2014/11/26 职场文书
黄石寨导游词
2015/02/05 职场文书
单位工资证明范本
2015/06/12 职场文书
学生病假条怎么写
2015/08/17 职场文书
java开发双人五子棋游戏
2022/05/06 Java/Android