您好,欢迎访问一九零五行业门户网

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

开发二代旅游网站程序和cms的时候,有一个需求,就是从网上复制的内容,里面包含图片的,需要对把图片提取出来,并且保存到本地,并且把图片的url地址本地化,以下是实现的代码。
开发二代旅游网站程序和cms的时候,有一个需求,就是从网上复制的内容,里面包含图片的,需要对把图片提取出来,并且保存到本地,并且把图片的url地址本地化,以下是实现的代码,功能和效果可以参考二代旅游cms官网(http://www.erdaicms.com):
/* 远程图片本地化 $body为html原内容 */
function auto_save_image($body){
$img_array = explode('&',$body);
        $img_array = array();
        preg_match_all(/(src)=[\|\'| ]{0,}(http:\/\/(.*)\.(gif|jpg|jpeg|bmp|png|jpeg|gif|png))[\|\'| ]{0,}/isu, $body, $img_array);
        $img_array = array_unique($img_array[2]);//也可以自动匹配
set_time_limit(0);
        $imgpath = uploads/article/.date(y-m-d)./;
        $millisecond = strftime(%h%m%s,time());
        if(!is_dir($imgpath)) @mkdir($imgpath,0777);
        foreach($img_array as $key =>$value)
        {
                $value = trim($value);
                $get_file = @file_get_contents($value);
$rndfilename = $imgpath./.$millisecond.$key...substr($value,-3,3);
                if($get_file)
                {
                        $fp = @fopen($rndfilename,w);
                        @fwrite($fp,$get_file);
                        @fclose($fp);
                }
                $body = @ereg_replace($value, '/'.$rndfilename, $body);
        }
return $body;
    }/* 提取图片数组 */function auto_return_image($body){
$img_array = explode('&',$body);
        $img_array = array();
        preg_match_all(/(src)=[\|\'| ]{0,}(\/(.*)\.(gif|jpg|jpeg|bmp|png|jpeg|gif|png))[\|\'| ]{0,}/isu, $body, $img_array);
        $img_array = array_unique($img_array[2]);//也可以自动匹配
return  $img_array;
}最终效果如下:
1.png ( 10.84 kb 下载:13 次 )
ad:真正免费,域名+虚机+企业邮箱=0元
其它类似信息

推荐信息