Heim >php教程 >php手册 >PHP教程:远程下载图片

PHP教程:远程下载图片

WBOY
WBOYOriginal
2016-06-06 20:09:271804Durchsuche

平时,我们经常引用一些外链图片作为我们网站的内容。但是很不巧的是,提供图片的网站又偏偏启动了防盗链功能。所以呢,到最后,我们引用的图片将极有可能会变成宣传他人网站的道具。当然了,也有人利用伪造来路或者是其他方式解除了壁垒,但是这样做就会让

平时,我们经常引用一些外链图片作为我们网站的内容。但是很不巧的是,提供图片的网站又偏偏启动了防盗链功能。所以呢,到最后,我们引用的图片将极有可能会变成宣传他人网站的道具。当然了,也有人利用伪造来路或者是其他方式解除了壁垒,但是这样做就会让图片加载的时间变长,让网站整体的加载速度大打折扣。所以呢,最好的办法还是引用我们自己本地的图片。但是如果以前引用了别人的图片,现在总不能一篇一篇文章地区查出来,然后替换吧。无疑地,如果手动起来,这将是一个巨大的工作量。所以,我们需要来个保存远程图片的功能。下面,我们就来看看,通过PHP实现远程下载图片到本地的方法。

function?save_image($inPath,$outPath){ ??
$in=fopen($inPath,?"rb"); ??
$out=fopen($outPath,?"wb"); ??
while($chunk=fread($in,8192)){ ??
fwrite($out,?$chunk,?8192); ??
} ??
fclose($in); ??
fclose($out); ??
}??

在上面的函数中,主要是利用fopen打开文件,以及打开相关的目标目录,然后通过fread函数读取文件的数据流,下来通过fwrite把获得的数据流写到本地,最后通过fclose函数关闭连接!!

声明: 本文采用 BY-NC-SA 协议进行授权 | IT路人
转载请注明转自《PHP教程:远程下载图片》

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn