为了实现这一目标,我们需要修改Dedecms的核心代码。具体来说,可以在dede目录下的swfupload.php文件中进行调整。
// 将以下代码替换为新的逻辑
$filename = $cuserLogin->getUserID().'-'.dd2char(MyDate('ymdHis', time()));
// 替换为
$filename = $Filedata_name;
解决这个问题的方法是进一步优化代码逻辑,确保只保留一个正确的扩展名。以下是改进后的代码:
// 保存原图
$filedir = $cfg_image_dir.'/'.MyDate($cfg_addon_savetype, time());
if(!is_dir(DEDEROOT.$filedir)) {
MkdirAll($cfg_basedir.$filedir, $cfg_dir_purview);
CloseFtp();
}
$filename = $Filedata_name;
if( file_exists($cfg_basedir.$filedir.'/'.$filename) ) {
for($i=50; $i <= 5000; $i++) {
if( !file_exists($cfg_basedir.$filedir.'/'.$i.'-'.$filename) ) {
$filename = $i.'-'.$filename;
break;
}
}
}
$fileurl = $filedir.'/'.$filename;
$rs = copy($FiledataNew, $cfg_basedir.$fileurl);
unlink($FiledataNew);
if(!$rs) {
echo "ERROR: Copy Uploadfile Error!";
exit(0);
}
经过测试,这种方法在IE9、Firefox和Google Chrome等主流浏览器中均能完美支持中文图片名。这对于SEO优化非常有利,能够显著提高网站图片的可发现性和点击率。
希望这篇文章能帮助您更好地理解和实施Dedecms的图片SEO优化策略。记得在修改核心文件前备份原有代码,以免出现意外情况。