DedeCMS5.5之后新增了自定义文件名功能,即添加文章时多了一个自定义文件名功能,方便用户按自己喜好对文章命名,虽然方便了很多做优化人的需求,但是出现了文章的自定义文件名重复会覆盖前面相同文件名的文件的问题。比如,我们添加一篇自定义文件名为"Linux"的文章后,再次添加同样名称的文章时会自动覆盖前一篇,dedecms官方也太大意了,这个对优化来讲简直是灾难。
下面就分享下DedeCMS5.7自定义文件名重复问题的解决办法,以避免这种覆盖同名文件名的情况。
先进入你的dede后台管理目录(默认为dede),分别打开article_add.php和article_edit.php,查找以下代码:
$filename = trim(cn_substrR($filename,40));
接下来,在后面加上:
//DedeCMS自定义文件名重复解决方法
if(!empty($filename))
{
$checksql = $dsql->GetOne("SELECT * FROM `@__archives` WHERE filename='".$filename."' and arcrank > -2");
if($checksql)
{
ShowMsg("你的自定义文件名已存在,请重写填写!","-1");
exit();
}
}
然后保存article_add.php和article_edit.php,重新测试一下,是不是已经成功解决了DedeCMS自定义文件名重复覆盖前面文件的问题了?