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

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

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

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("/zb_users/upload/202003/jgtnfaojvvq.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("/zb_users/upload/202003/tgcvuhu4pre.gif","images/$i.gif");
}

上面的www.yourimagesite.com是图片的网址,需要自己修改,程序执行完后,所有的图片将会保存到images目录下面。

相关文章

sqlyog 中文乱码问题的设置方法

1.在SQLyog下输入下面代码,全部执行 SET character_set_client = utf8; SET character_set_results = gb2312; SE...

windows下升级PHP到5.3.3的过程及注意事项

windows下升级PHP到5.3.3的过程及注意事项

就升级了本地的开发环境,没有涉及到生产环境.其实从5.3.0升级到5.3.3的过程还算蛮简单的,就是修改自己的程序有点麻烦,遇到了个小问题就是升级后竟然自己的项目无法连接mysql了,原...

PHP自定义函数判断是否为Get、Post及Ajax提交的方法

本文实例讲述了PHP自定义函数判断是否为Get、Post及Ajax提交的方法。分享给大家供大家参考,具体如下: /** * 是否是AJAx提交的 * @return bool...

PHP实现找出数组中出现次数超过数组长度一半的数字算法示例

本文实例讲述了PHP实现找出数组中出现次数超过数组长度一半的数字算法。分享给大家供大家参考,具体如下: <?php * 算法要求:数组中有一个数字出现的次数超过了数组长...

php 把数字转换成汉字的代码

直接上实例,写到 千亿上了。 /** * @author ja颂 * 把数字1-1亿换成汉字表述,如:123->一百二十三 * @param [num] $num [数字]...