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

 更新时间:2010年08月08日 13:22:49   作者:   我要评论
有些时候我们看到网络上有一些漂亮的图片,而又不想手动去保存下来,尤其是大量的这样的图片,那这个时候我们需要写一段程序来帮助我们完成这个工作。
今天在整理资料的时候发现以前找到的一个函数,通过这个函数我们就可以实现上面的功能。

主要函数:
复制代码 代码如下:

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目录下面。

相关文章

  • 使用Zttp简化Guzzle 调用

    使用Zttp简化Guzzle 调用

    在 PHP 的项目中,如果你需要通过代码来发起 HTTP 请求,相信很多人对 GuzzleHttp 这个 Package 很熟悉,然而其实在使用 Guzzle 的时候,我们依然可以做得更简便一点的,下面我们就来看下今天的主角--Zhttp
    2017-07-07
  • PHP实现的无限分类类库定义与用法示例【基于thinkPHP】

    PHP实现的无限分类类库定义与用法示例【基于thinkPHP】

    这篇文章主要介绍了PHP实现的无限分类类库定义与用法,结合实例形式分析了基于thinkPHP实现的无限分类类库相关定义及具体使用操作技巧,需要的朋友可以参考下
    2018-08-08
  • PHP的Yii框架中创建视图和渲染视图的方法详解

    PHP的Yii框架中创建视图和渲染视图的方法详解

    这篇文章主要介绍了PHP的Yii框架中创建视图和渲染视图的方法详解,包括CWidget小物件的讲解及视图中渲染另一个视图的方法等,需要的朋友可以参考下
    2016-03-03
  • 无JS,完全php面向过程数据分页实现代码

    无JS,完全php面向过程数据分页实现代码

    无JS,完全php面向过程数据分页实现代码,需要的朋友可以参考下
    2012-08-08
  • 破解图片防盗链的代码(asp/php)测试通过

    破解图片防盗链的代码(asp/php)测试通过

    许多的网站图片都加了防盗链措施,常见的新浪博客、网易相册、百度空间、QQ空间都不能外链图片,如果要先把图片保存到本地再上传,不免显得麻烦。
    2010-07-07
  • PHP接口多继承及tarits实现多继承效果的方法

    PHP接口多继承及tarits实现多继承效果的方法

    这篇文章主要介绍了PHP接口多继承及tarits实现多继承效果的方法,结合实例形式分析了php基于接口的多继承及PHP5.4中引入的tarits实现多继承功能简单操作技巧,需要的朋友可以参考下
    2018-01-01
  • php魔术方法功能与用法实例分析

    php魔术方法功能与用法实例分析

    这篇文章主要介绍了php魔术方法功能与用法,结合实例形式简单分析了php面向对象程序设计中常见魔术方法的功能与相关使用技巧,需要的朋友可以参考下
    2016-10-10
  • 详细解读PHP中接口的应用

    详细解读PHP中接口的应用

    这篇文章主要介绍了PHP中接口的应用,是PHP入门学习中的基础知识,需要的朋友可以参考下
    2015-08-08
  • php 调试利器debug_print_backtrace()

    php 调试利器debug_print_backtrace()

    debug_print_backtrace() 是一个很低调的函数,很少有人注意过它. 不过当我对着一个对象调用另一个对象再调用其它的对象和文件中的一个函数出错时,它正在一边笑呢
    2012-07-07
  • 简单的PHP多图上传小程序代码

    简单的PHP多图上传小程序代码

    之前也写过很多图片上传的程序,但是都没有下面这个简短。越简单的程序越好,不是吗?
    2011-07-07

最新评论