织梦使用kindeditor编辑器后批量上传图片无法加水印
织梦使用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("#[ \r\n\t\*\%\\\/\?><\|\":]{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();
☉首先声明,只要是我们的vip会员所有源码均可以免费下载,不做任何限制
☉本站的源码不会像其它下载站一样植入大量的广告。为了更好的用户体验以后坚持不打水印
☉本站只提供精品源码,源码在于可用,不在多!!希望在这里找到你合适的。
☉本站提供的整站程序,均带数据及演示地址。可以在任一源码详情页查看演示地址
☉本站所有资源(包括源码、模板、素材、特效等)仅供学习与参考,请勿用于商业用途。
☉如有其他问题,请加网站客服QQ(984818011)进行交流。
☉本站的源码不会像其它下载站一样植入大量的广告。为了更好的用户体验以后坚持不打水印
☉本站只提供精品源码,源码在于可用,不在多!!希望在这里找到你合适的。
☉本站提供的整站程序,均带数据及演示地址。可以在任一源码详情页查看演示地址
☉本站所有资源(包括源码、模板、素材、特效等)仅供学习与参考,请勿用于商业用途。
☉如有其他问题,请加网站客服QQ(984818011)进行交流。
相关教程:
- dedecms搬家时出现数据库导入失败的解决方法
- DEDECMS内容页分页过多、过长问题最佳解决方案
- dedecms调用当前栏目的子栏目的两种方法分享
- dedecms自定义表单用js代替联动类型解决联动问题
- 织梦dede修改关键字长度的方法
- 织梦dede后台卡、假死解决方法
- Dedecms自定义表单“数据校验不对,程序返回错误”的
- DEDECMS5.6和5.7跳转网址直接显示跳转网址的解决办法
- 织梦cms登录后台提示Function ereg_replace()错误的解
- media_add.php dedecms后台文件任意上传漏洞的解决方
- 关于软件频道不能像文章频道自动从tag中获取关键词的
- dedecms在后台更新时出现报错“读取频道信息失败,无法
常用故障问题
- 织梦教程:dedecms首页导航菜单调用一二级栏目的方法
- DedeCMS提示“Fatal error: Call to a member”错误的
- 织梦DEDECMS友情链接出现内页与首页都在首页显示解决
- dedecms后台登录成功后,又返回登录界面已成功解决!
- dedecms导航使用channelartlist在列表页面取不到二级
- dedecms tags伪静态完美解决办法
- 造成织梦dede搜索太慢的解决办法
- Dedecms v5.6会员中心自定义字段错位的问题
- 织梦模板dedeCMS调用四级栏目的方法
- DEDE启用多站点绝对网址导致RSS出错解决办法
- DedeCms文件加载顺序原理介绍
- dedecms织梦后台添加图片style全部都变成stxyle的解决