php正则匹配文章中的远程图片地址并图片到本地

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

php正则匹配文章中的远程图片地址并下载图片到本地[导读]今天在做一个简单的采集程序需要下载对方网站内容,然后把内容中的图片再保存在本地服务器上,下面我来给各位同介绍我的具体操作方法,下载图片主要用到了file_get_contents函数,具体方法如下。这里我们使用今天在做一个简单的采集程序需要下载对方网站内容,然后把内容中的图片再保存在本地服务器上,下面我来给各位同介绍我的具体操作方法,下载图片主要用到了file_get_contents函数,具体方法如下。这里我们使用php的正则表达式来实现:代码如下复制代码$content='这里是文章内容,这里插入一张图片测试imgsrc==stripslashes($content);$img_array=array();//匹配所有远程图片preg_match_all(/(src|SRC)=[|'|]{0,}(http://(.*).(gif|jpg|jpeg|bmp|png))/isU,$content,$img_array);//匹配出来的不重复图片$img_array=array_unique($img_array[2]);print_r($img_array);上面就将远程图片给匹配出来了,我们需要将其保持到本地。这里需要注意两点:1.图片保存路径(图片存储目录)2.实际访问图片地址下面是完整实例:(你可以保存到本地服务器修改相应地方进行测试)代码如下复制代码!DOCTYPEHTMLhtmllang=en-USheadmetacharset=UTF-8titlephp保存远程图片到本地,php正则匹配文章中的图片地址/title/headbody?php//保存文章中远程图片到本地//作者:yanue;//文件保存目录路径(请更换为你自己的路径,你可以echo一下)$save_path=$_SERVER['DOCUMENT_ROOT'].'swfupload/attached/';//文件保存目录URL$save_url='/swfupload/attached/';$save_path=realpath($save_path).'/';//图片存储目录$imgPath=$save_path.date(Ymd);$imgUrl=$save_url.date(Ymd);//创建文件夹if(!is_dir($imgPath)){@mkdir($imgPath,0777);}$content='==stripslashes($content);$img_array=array();//匹配所有远程图片preg_match_all(/(src|SRC)=[|'|]{0,}(http://(.*).(gif|jpg|jpeg|bmp|png))/isU,$content,$img_array);//匹配出来的不重复图片$img_array=array_unique($img_array[2]);print_r($img_array);//时间无限制set_time_limit(0);foreach($img_arrayas$key=$value){$value=trim($value);//读取远程图片$get_file=@file_get_contents($value);//保存到本地图片名称$imgname=date(YmdHis).'_'.rand(10000,99999)...substr($value,-3,3);//保存到本地的实际文件地址(包含路径和名称)$fileName=$imgPath.'/'.$imgname;//实际访问的地址$fileurl=$imgUrl./.$imgname;//文件写入if($get_file){$fp=@fopen($fileName,w);@fwrite($fp,$get_file);@fclose($fp);}//替换原来的图片地址$content=ereg_replace($value,$fileurl,$content);}echo$content;?/body/html

1 / 2
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功