欢迎光临
我们一直在努力

DEDECMS 5.7 广告管理增加图片上传补丁!

qyuef阅读(1325)评论(14)

其他的cms广告管理都有上传图片的功能,很遗憾,织梦的广告管理一直以来都没有增加这个功能。下面我

把自己修改的广告增强补丁分享出来。效果如下

 

 

安装方法,对应自己的织梦版本下载对应的编码然后解压把里面的文件放在根目录即可。

补丁下载地址:

UTF-8版本:http://www.qyuef.com/dede/UTF-8AD.zip

GBK版本:http://www.qyuef.com/dede/GBKAD.zip

DEDECMS5.7 UTF_8版本上传文件重命名为中文乱码的解决办法

qyuef阅读(1763)评论(10)

虽然一直在使用织梦建站,但是自己且很少使用他的功能。今天一个朋友突然说网站出问题了。在上传文件的时候如果重新设置中文名就出现乱码和无法打开的问题。我打开自己的后台一看也出现了这个问题。

忙活了一阵,终于搞定了。现在把他分享出来:

第一步:找到\include\dialog\select_soft_post.php 替换为下面的内容

< ?php
if(!isset($cfg_basedir))
{
	include_once(dirname(__FILE__).'/config.php');
}
if(empty($uploadfile)) $uploadfile = '';
if(empty($uploadmbtype)) $uploadmbtype = '软件类型';
if(empty($bkurl)) $bkurl = 'select_soft.php';
$newname = ( empty($newname) ? '' : ereg_replace("[\\ \"\*\?\t\r\n<>':/|]", "", $newname) );

if(!is_uploaded_file($uploadfile))
{
	ShowMsg("你没有选择上传的文件或选择的文件大小超出限制!", "-1");
	exit();
}

//软件类型所有支持的附件
$cfg_softtype = $cfg_softtype;
$cfg_softtype = str_replace('||', '|', $cfg_softtype);
$uploadfile_name = trim(ereg_replace("[ \r\n\t\*\%\\/\?>< \|\":]{1,}",'',$uploadfile_name));
if(!eregi("\.(".$cfg_softtype.")", $uploadfile_name))
{
	ShowMsg("你所上传的{$uploadmbtype}不在许可列表,请更改系统对扩展名限定的配置!","");
	exit();
}

$nowtme = time();
if($activepath==$cfg_soft_dir)
{
	$newdir = MyDate($cfg_addon_savetype, $nowtme);
	$activepath = $activepath.'/'.$newdir;
	if(!is_dir($cfg_basedir.$activepath))
	{
		MkdirAll($cfg_basedir.$activepath,$cfg_dir_purview);
		CloseFtp();
	}
}

//文件名(前为手工指定, 后者自动处理)
if(!empty($newname))
{
	$filename = $newname;
	if(!ereg("\.", $filename)) $fs = explode('.', $uploadfile_name);
	else $fs = explode('.', $filename);
	if(eregi($cfg_not_allowall, $fs[count($fs)-1]))
	{
		ShowMsg("你指定的文件名被系统禁止!",'javascript:;');
		exit();
	}
	if(!ereg("\.", $filename)) $filename = $filename.'.'.$fs[count($fs)-1];
}else{
	$filename = $cuserLogin->getUserID().'-'.dd2char(MyDate('ymdHis',$nowtme));
	$fs = explode('.', $uploadfile_name);
	if(eregi($cfg_not_allowall, $fs[count($fs)-1]))
	{
		ShowMsg("你上传了某些可能存在不安全因素的文件,系统拒绝操作!",'javascript:;');
		exit();
	}
	$filename = $filename.'.'.$fs[count($fs)-1];
}

$fullfilename = $cfg_basedir.$activepath.'/'.$filename;
$fullfileurl = $activepath.'/'.$filename;
$fullfilename  = mb_convert_encoding($fullfilename,'GBK','UTF-8');
 //fullname也是GBK编码,页面是UTF-8,所以需要把上传失败提示转为UTF-8
$failupload = mb_convert_encoding($fullfilename,'UTF-8','GBK');
move_uploaded_file($uploadfile,$fullfilename) or die("上传文件到".$failupload."失败!");
//再把文件名从GBK转为UTF-8,用于保存到数据库
$$fullfilename = mb_convert_encoding($fullfilename,'UTF-8','GBK'); 
@unlink($uploadfile);
if($cfg_remote_site=='Y' && $remoteuploads == 1)
{
	//分析远程文件路径
	$remotefile = str_replace(DEDEROOT, '', $fullfilename);
	$localfile = '../..'.$remotefile;
	//创建远程文件夹
	$remotedir = preg_replace('/[^\/]*\.('.$cfg_softtype.')/', '', $remotefile);
	$ftp->rmkdir($remotedir);
	$ftp->upload($localfile, $remotefile);
}

if($uploadfile_type == 'application/x-shockwave-flash')
{
	$mediatype=2;
}
else if(eregi('image',$uploadfile_type))
{
	$mediatype=1;
}
else if(eregi('audio|media|video',$uploadfile_type))
{
	$mediatype=3;
}
else
{
	$mediatype=4;
}

$inquery = "INSERT INTO `#@__uploads`(arcid,title,url,mediatype,width,height,playtime,filesize,uptime,mid)
   VALUES ('0','$filename','$fullfileurl','$mediatype','0','0','0','{$uploadfile_size}','{$nowtme}','".$cuserLogin->getUserID()."'); ";

$dsql->ExecuteNoneQuery($inquery);
$fid = $dsql->GetLastID();
AddMyAddon($fid, $fullfileurl);

ShowMsg("成功上传文件!",$bkurl."?comeback=".urlencode($filename)."&f=$f&activepath=".urlencode($activepath)."&d=".time());
exit();
?>

返回文件列表页面修改 找到 \include\dialog\select_soft.php 替换为:

< ?php
require_once(dirname(__FILE__)."/config.php");
if(empty($activepath))
{
	$activepath = '';
}
$activepath = str_replace('.','',$activepath);
$activepath = ereg_replace("/{1,}",'/',$activepath);
if(strlen($activepath) < strlen($cfg_soft_dir))
{
	$activepath = $cfg_soft_dir;
}
$inpath = $cfg_basedir.$activepath;
$activeurl = '..'.$activepath;
if(empty($f))
{
	$f='form1.enclosure';
}

if(empty($comeback))
{
	$comeback = '';
}

?>

枫叶博客

联系我们联系我们

登录

忘记密码 ?