PHP获取远程图片并保存到本地的方法

yipeiwu_com6年前PHP代码库

本文实例讲述了PHP获取远程图片并保存到本地的方法。分享给大家供大家参考。具体实现方法如下:

<?php
function GrabImage($url, $filename = "") {
 if ($url == ""):return false;
 endif;
 //如果$url地址为空,直接退出
 if ($filename == "") {
 //如果没有指定新的文件名
 $ext = strrchr($url, ".");
 //得到$url的图片格式
 if ($ext != ".gif" && $ext != ".jpg"):return false;
 endif;
 //如果图片格式不为.gif或者.jpg,直接退出
 $filename = date("dMYHis") . $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("/zb_users/upload/202003/c3zsr3okbdg.gif", "");
if ($img):echo '<pre><img src="' . $img . '"></pre>';
//如果返回值为真,这显示已经采集到服务器上的图片
else:echo "false";
endif;
//否则,输出采集失败
?>

希望本文所述对大家的php程序设计有所帮助。

相关文章

php及codeigniter使用session-cookie的方法(详解)

1、读写cookie <1>原生 setcookie('name','value',time) 设置失败,没有正常写入浏览器,测试失败,原因未知 <2>...

php中使用redis队列操作实例代码

例1,入队操作:复制代码 代码如下:<?php$redis = new Redis();$redis->connect('127.0.0.1',6379);while(Tru...

用PHP代码在网页上生成图片

用PHP代码在网页上生成图片

代码很简单,这里就不多废话了, <?php /** * Created by PhpStorm. * User: Administrator * Date: 2...

php ci框架验证码实例分析

php代码:复制代码 代码如下:<?php class Captcha_code{ var $width='60'; var $num='4'; va...

PHP中实现Bloom Filter算法

<?php /*Bloom Filter算法来去重过滤。 介绍下Bloom Filter的基本处理思路:申请一批空间用于保存0 1信息,再根据一批哈希函数确定元素...