织梦使用kindeditor编辑器后批量上传图片无法加水印

时间:2022-02-10 21:26:41 投诉/举报

织梦使用kindeditor后批量上传图片无法加水印,解决方法是修改/include/dialog/kindeditor_post.php文件,用以下代码进行替换即可解决

具体代码如下:

 

  <?php  $PHPSESSID = $_POST['PHPSESSID'];  if(!empty($PHPSESSID)) {    session_id($PHPSESSID);  }  require_once(dirname(__FILE__)."/config.php");  require_once(dirname(__FILE__)."/../image.func.php");    require_once(dirname(__FILE__)."/../json.class.php");        function alert($msg) {      $json = new Services_JSON();      echo $json->encode(array('error' => 1, 'message' => $msg));      exit;  }    $ext_arr = array(      'image' => array('gif', 'jpg', 'jpeg', 'png', 'bmp'),      'flash' => array('swf', 'flv'),      'media' => array('swf', 'flv', 'mp3', 'wav', 'wma', 'wmv', 'mid', 'avi', 'mpg', 'asf', 'rm', 'rmvb'),      'file' => array('doc', 'docx', 'xls', 'xlsx', 'ppt', 'htm', 'html', 'txt', 'zip', 'rar', 'gz', 'bz2', 'pdf'),  );    $media_type = array(      'image' => 1,      'flash' => 2,      'media' => 3,      'file' => 4,  );    if(empty($activepath))  {      $activepath ='';      $activepath = str_replace('.', '', $activepath);      $activepath = preg_replace("#/{1,}#", '/', $activepath);      if(strlen($activepath) < strlen($cfg_image_dir))      {          $activepath = $cfg_image_dir;      }  }    $ismarkup = isset($_POST['iswater'])? 1 : 0;    $dir_name = empty($_GET['dir']) ? 'image' : trim($_GET['dir']);    if(empty($imgFile))  {      $imgFile='';  }    if(!is_uploaded_file($imgFile))  {      alert(gb2utf8("你没有选择上传的文件!".$imgFile));  }  $CKEditorFuncNum = (isset($CKEditorFuncNum))? $CKEditorFuncNum : 1;  $imgfile_name = $_FILES['imgFile']['name'];  $imgfile_name = trim(preg_replace("#[ rnt*%\/?><|":]{1,}#", '', $imgfile_name));    //检查目录名  $dir_name = empty($_GET['dir']) ? 'image' : trim($_GET['dir']);  if (empty($ext_arr[$dir_name])) {      alert("目录名不正确。");  }  //获得文件扩展名  $temp_arr = explode(".", $imgfile_name);  $file_ext = array_pop($temp_arr);  $file_ext = trim($file_ext);  $file_ext = strtolower($file_ext);  //检查扩展名  if (in_array($file_ext, $ext_arr[$dir_name]) === false) {      alert(gb2utf8("上传文件扩展名是不允许的扩展名。n只允许" . implode(",", $ext_arr[$dir_name]) . "格式。"));  }    $nowtme = time();  $imgfile_type = $_FILES['imgFile']['type'];  $imgfile_type = strtolower(trim($imgfile_type));    $mdir = MyDate($cfg_addon_savetype, $nowtme);  if(!is_dir($cfg_basedir.$activepath."/$mdir"))  {      MkdirAll($cfg_basedir.$activepath."/$mdir",$cfg_dir_purview);      CloseFtp();  }  $filename_name = $cuserLogin->getUserID().'-'.dd2char(MyDate("ymdHis", $nowtme).mt_rand(100,999));  $filename = $mdir.'/'.$filename_name;  $fs = explode('.', $imgfile_name);  $filename = $filename.'.'.$fs[count($fs)-1];  $filename_name = $filename_name.'.'.$fs[count($fs)-1];  $fullfilename = $cfg_basedir.$activepath."/".$filename;  move_uploaded_file($imgFile, $fullfilename) or die("上传文件到 $fullfilename 失败!");  // 远程同步到附件服务器  if($cfg_multiserv['rmmedia'] == 1)  {      if(!$ftp->_is_conn()) $ftp->connect($cfg_multiserv);      //分析远程文件路径      $remotefile = str_replace(DEDEROOT, '', $fullfilename);      $localfile = '../..'.$remotefile;      //创建远程文件夹      $remotedir = preg_replace('/[^/]*.(jpg|gif|bmp|png)/', '', $remotefile);      $ftp->rmkdir($remotedir);      $ftp->upload($localfile, $remotefile);  }    @unlink($imgfile);  if(empty($resize))  {      $resize = 0;  }  if($resize==1)  {      if(in_array($imgfile_type, $cfg_photo_typenames))      {          ImageResize($fullfilename, $iwidth, $iheight);      }  }  else  {      if(in_array($imgfile_type, $cfg_photo_typenames))      {          if($ismarkup==1) WaterImg($fullfilename, 'up');      }  }    $info = '';  $sizes[0] = 0; $sizes[1] = 0;  if($dir_name == 'image')  {      $sizes = getimagesize($fullfilename, $info);  }    $imgwidthValue = $sizes[0];  $imgheightValue = $sizes[1];  $imgsize = filesize($fullfilename);  $media_type = $media_type[$dir_name];  //批量上传水印  if($photo_markup==1) WaterImg($fullfilename, 'up');  //WaterImg($fullfilename, 'up');  $inquery = "INSERT INTO `dede_uploads`(arcid,title,url,mediatype,width,height,playtime,filesize,uptime,mid)  VALUES ('0','$filename','".$activepath."/".$filename."','{$media_type}','$imgwidthValue','$imgheightValue',  '0','{$imgsize}','{$nowtme}','".$cuserLogin->getUserID()."'); ";  $dsql->ExecuteNoneQuery($inquery);  $fid = $dsql->GetLastID();  AddMyAddon($fid, $activepath.'/'.$filename);  $CKUpload = isset($CKUpload)? $CKUpload : FALSE;    $json = new Services_JSON();  echo $json->encode(array('error' => 0, 'url' => $activepath."/$mdir/".$filename_name));  exit();