在使用DedeCMS时,许多用户会遇到上传图片后文件名自动更改的问题。这可能会导致图片管理变得复杂,尤其是在需要保持原始文件名的情况下。本文将详细介绍如何通过修改DedeCMS的代码来解决这一问题,确保上传的图片名称保持原样。 首先,我们需要对DedeCMS的核心文件进行一些小改动。以下是具体的步骤和代码示例:

1. 打开文件:\\\\include\\\\dialog\\\\select_images_post.php
2. 找到以下代码:
$filename_name = $cuserLogin->getUserID().'-'.dd2char(MyDate("ymdHis", $nowtme).mt_rand(100,999));
3. 将其替换为:
$fs2 = explode('.', $imgfile_name);
$filename_name = $fs2[count($fs2)-2];//缩略图不重命名
    

接下来,我们需要修改另一个文件以确保所有上传都遵循相同的规则:

1. 打开文件:\\\\include\\\\helpers\\\\upload.helper.php
2. 找到以下代码:
$filename = $cuserLogin->getUserID().'-'.dd2char(MyDate('ymdHis', time())).$rnddd;
3. 替换为:
$filename = $file_snames[count($file_snames)-2];//缩略图不重命名
4. 继续找到以下代码:
if($ftype=='imagelit') $filename .= '-L';
5. 删除或注释掉这行代码。
    

最后,我们还需要调整swfupload.php文件中的相关设置:

1. 打开文件:\\\\dede\\\\swfupload.php
2. 找到以下代码:
$filename = $cuserLogin->getUserID().'-'.dd2char(MyDate('ymdHis', time()));
3. 替换为:
$file_snames = explode('.', $Filename);
$filename = $file_snames[count($file_snames)-2];//缩略图不重命名
    

通过以上步骤,您可以成功地让DedeCMS在上传图片时保留原始文件名。需要注意的是,在进行任何代码修改之前,请确保备份了原始文件,以便在出现问题时能够迅速恢复。此外,这些修改可能会影响系统的其他功能,因此建议在测试环境中先验证效果再应用到生产环境。 总结来说,通过修改DedeCMS的核心文件,我们可以轻松实现图片上传时保留原始文件名的功能。这对于需要精确管理图片资源的网站管理员来说,无疑是一个非常实用的技巧。希望这篇文章能帮助您更高效地管理和维护您的网站内容。