supesite在发表文章的时候自动下载远程图片

本文介绍了如何修改Supesite的前台发布功能,使其能自动下载远程图片并保存到本地,方便伪原创内容的创建。通过在`cp_news.php`文件中替换相关代码并引入辅助函数,可以实现远程图片的抓取和存储。
摘要由CSDN通过智能技术生成

为了造福喜欢做伪原创的各大站长,经常crtl+c和crtl+V的supesite爱好者。

遂决定小小的改造一下前台发贴的功能,自动下载远程图片本地化。

http://www.mihua.net/list/1/1540.htm 以后会根据需要进行更新。米花网sun)

修改如下:

在source目录的cp_news.php文件查找 (约70行左右)

$_POST['message'] = preg_replace_callback("/src/=(.{2})([^/>/s]{10,105})/.(jpg|gif|png)/i", 'addurlhttp', scensor($_POST['message']));

替换为:
 $_POST['message'] = preg_replace_callback("/src/=(.{2})([^/>/s]{10,105})/.(jpg|gif|png)/i", 'get_image_save', scensor($_POST['message']));

然后在文件头部加入以下代码。

$funcFile='./function/common.func.php';
include_once($funcFile);

/** save image保存远程图片 */
function get_image_save($mat){
 static $files;
 if(!isset($files[$mat[2]])){
  $imgurl=$mat[2].'.'.$mat[3];   
   
   if(!strstr($mat[2], 'www.mihua.net') && strstr($mat[2], 'http://')){
    
      $maxsize=0;
     $showTime=time();
     $Nowtime=date('d-his',$showTime);
     $NowMonth=date('m',$showTime);
     $NowYear=date('Y',$showTime);
     $url_localImg='/info/attachments/u'.$NowYear.'/'.$NowMonth.'/'.$Nowtime.'.'.$mat[3];
     
     $s_dir2= './attachments';
     $s_dir3=$s_dir2.'/u'.$NowYear;
     $store_dir=$s_dir3.'/'.$NowMonth;

     $store_file=$store_dir.'/'.$Nowtime.'.'.$mat[3];

     $content = sreadfile($imgurl, 'rb', 1, $maxsize);
     if(!empty($content))
     {
      if (!file_exists($store_dir)){
          //$msg=$msg.' not exist:'.$store_dir;
           if (!file_exists($s_dir2)) mkdir($s_dir2,0777);
          if (!file_exists($s_dir3)) mkdir($s_dir3,0777);
          if (!file_exists($store_dir))
          mkdir($store_dir,0777);

          }
      if (file_exists($store_dir))
      file_put_contents($store_file,$content);
      
     }
     //else $msg=$msg.' get remote img failed!';
     
   return 'src=/"'.$url_localImg;

   }else{
    $files[$mat[2]] = $mat[0];
    return 'src=/"'.$imgurl;
   }
  }
  return $files[$mat[2]];
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值