> php教程 > php手册 > 从文章中提取图片,把图片保存到本地,自动提取缩略图

从文章中提取图片,把图片保存到本地,自动提取缩略图

WBOY
풀어 주다: 2016-06-10 15:11:47
원래의
937명이 탐색했습니다.

开发二代旅游网站程序和CMS的时候,有一个需求,就是从网上复制的内容,里面包含图片的,需要对把图片提取出来,并且保存到本地,并且把图片的URL地址本地化,以下是实现的代码。
开发二代旅游网站程序和CMS的时候,有一个需求,就是从网上复制的内容,里面包含图片的,需要对把图片提取出来,并且保存到本地,并且把图片的URL地址本地化,以下是实现的代码,功能和效果可以参考二代旅游CMS官网(http://www.erdaicms.com):

/* 远程图片本地化 $body为html原内容 */<br> function auto_save_image($body){<br>     <br>     <br>         $img_array = explode('&',$body);<br>         $img_array = array();<br>         preg_match_all("/(src)=[\"|\'| ]{0,}(http:\/\/(.*)\.(gif|jpg|jpeg|bmp|png|JPEG|GIF|PNG))[\"|\'| ]{0,}/isU", $body, $img_array);<br>         $img_array = array_unique($img_array[2]);//也可以自动匹配<br>     <br>     <br>         set_time_limit(0);<br>         $imgPath = "Uploads/article/".date("Y-m-d")."/";<br>         $milliSecond = strftime("%H%M%S",time());<br>         if(!is_dir($imgPath)) @mkdir($imgPath,0777);<br>         foreach($img_array as $key =>$value)<br>         {<br>                 $value = trim($value);<br>                 $get_file = @file_get_contents($value);<br>                 <br>                 <br>             <br>                 $rndFileName = $imgPath."/".$milliSecond.$key.".".substr($value,-3,3);<br>                 if($get_file)<br>                 {<br>                         $fp = @fopen($rndFileName,"w");<br>                         @fwrite($fp,$get_file);<br>                         @fclose($fp);<br>                 }<br>                 $body = @ereg_replace($value, '/'.$rndFileName, $body);<br>         }<br>      <br>         return $body;<br>     }/* 提取图片数组 */function auto_return_image($body){<br>     <br>         $img_array = explode('&',$body);<br>         $img_array = array();<br>         preg_match_all("/(src)=[\"|\'| ]{0,}(\/(.*)\.(gif|jpg|jpeg|bmp|png|JPEG|GIF|PNG))[\"|\'| ]{0,}/isU", $body, $img_array);<br>         $img_array = array_unique($img_array[2]);//也可以自动匹配<br>         <br>         return  $img_array;<br> }最终效果如下:
从文章中提取图片,把图片保存到本地,自动提取缩略图

附件 1.png ( 10.84 KB 下载:13 次 )

AD:真正免费,域名+虚机+企业邮箱=0元

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 추천
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿