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

相关文章

PHP使用缓存即时输出内容(output buffering)的方法

PHP使用缓存即时输出内容(output buffering)的方法。分享给大家供大家参考。具体如下: $buffer = ini_get('output_buffering');...

PHP session垃圾回收机制实例分析

本文实例讲述了PHP session垃圾回收机制。分享给大家供大家参考,具体如下: session过期时间 在php.ini文件中有这样一个配置,这个配置表示session文件过期时间,...

兼容性最强的PHP生成缩略图的函数代码(修改版)

复制代码 代码如下: function ImageResize($srcFile,$toW,$toH,$toFile="") { if($toFile==""){ $toFile = $...

对PHP依赖注入的理解实例分析

本文实例讲述了对PHP依赖注入的理解。分享给大家供大家参考,具体如下: 看Laravel的IoC容器文档只是介绍实例,但是没有说原理,之前用MVC框架都没有在意这个概念,无意中在phal...

php删除页面记录 同时刷新页面 删除条件用GET方式获得

功能: 1、在某个页面上显示查询数据,并在每条数据后增加删除功能,点击“删除”,删除掉数据,同时刷新页面 2、用GET方式获得删除条件 数据库连接变量connectvars.php 复制...