织梦如何使用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");



functionalert($msg){
$json=newServices_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)ordie("上传文件到$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="INSERTINTO`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=newServices_JSON();
echo$json->encode(array('error'=>0,'url'=>$activepath."/$mdir/".$filename_name));
exit();

到此这篇关于织梦如何使用kindeditor编辑器后批量上传图片无法加水印就介绍到这了。我不能说我不珍重这些荣誉,并且我承认它很有价值,不过我却从来不曾为追求这些荣誉而工作。更多相关织梦如何使用kindeditor编辑器后批量上传图片无法加水印内容请查看相关栏目,小编编辑不易,再次感谢大家的支持!

标签: 图片