图片本地化插件 1.0


此插件用于将文章中的远程图片转换为本地图片,并根据需要加上水印。


在1.0.8之后版本不需要修改以下代码。

找到app\common\model\attach.model.php中的函数thread_attach_post


修改函数如下:


function thread_attach_post($tid,$filelist,$scorelist,$method='add'){
	global $uid, $time, $conf,$plugin;
	$post = topic__read($tid);
	
    preg_match_all('/\<img.*?data-id\=\"(.*?)\"[^>]*>/i',htmlspecialchars_decode($post['content']),$matches);//本地图片
    
    foreach ($matches[1] as $key => $value) {
         $img_arr = explode('-',$value);
          $imginfo = db_find_one('file',array('id'=>$img_arr[0],'sha1'=>$img_arr[1]));
          if($imginfo['tid']!=0&&$imginfo['tid']!=$tid){
              
          }else{
if($imginfo['tid']!=0){

}else{
			if($conf['sy_type']>0){
            


        	setWater($conf['upload_url'].'image/'.$imginfo['savepath'],'./public/common/images/water.png',$conf['shuiyin'],'171,171,171',9,'./data/FZZYJW.TTF',$conf['sy_type']);
             }
              db_update('file',array('id'=>$img_arr[0],'sha1'=>$img_arr[1]),array('tid'=>$tid,'type'=>1));
}



          
          }

    	
    	
    }
    $oldcontent = htmlspecialchars_decode($post['content']);
    preg_match_all('/\<img.*?src\=\"(.*?)\"[^>]*>/i',htmlspecialchars_decode($post['content']),$srcmatches);//所有图片
   
    
	foreach ($srcmatches[1] as $key => $value) {



        $url = trim($value,"\"'");

		if(strpos($url,http_url_path()) === false && (substr($url,0,7) == 'http://'||substr($url,0,8) == 'https://')){//网络图片可以实现本地化,下载保存,先判断是否为正经图片
           
             $oldcontent = $plugin->run('localimg','localdown',array('img'=>$url,'content'=>$oldcontent,'tid'=>$tid));

		}
        


    }




     

    $img_num = count($srcmatches[1]);
    if($img_num>0){
    	$first_img = $srcmatches[1][0];
    }else{
    	$first_img = '';
    }
    if(!empty($filelist)){//如果存在附件
       $file_num = count($filelist);
       
       foreach ($filelist as $key => $value) {
          $fileinfo = db_find_one('file',array('id'=>$value));
          if($fileinfo['tid']!=0&&$fileinfo['tid']!=$tid){
              
          }else{
            db_update('file',array('id'=>$value),array('score'=>$scorelist[$key],'tid'=>$tid,'type'=>1));
          }
       	  

       }
    }else{
       $file_num = 0;
    }



if($oldcontent == htmlspecialchars_decode($post['content'])){
  	topic__update($tid, array('img_num'=>$img_num,'file_num'=>$file_num,'first_img'=>$first_img,'filelist'=>implode(',',$filelist)));
}else{
	if($oldcontent){
		topic__update($tid, array('img_num'=>$img_num,'file_num'=>$file_num,'first_img'=>$first_img,'filelist'=>implode(',',$filelist),'content'=>htmlspecialchars($oldcontent)));
	}
	
}




}
插件信息
  • 下载次数:1
  • 类型:插件
  • 分类:功能扩展
  • 版本号:1.0
  • 发布日期:2019-06-09 14:59
作者信息