相信用过dedecms的人都清楚这一点,就是上传的文件会自动被改名,当然,大多数的CMS程序都会是这样的功能。可是改名后的文件名失去了原始的直观性,特别当你的文件是用来让用户下载的时候(比如报表、软件之类),用户下了你的文件,看文件名就是系统自动生成一串数字,没有什么实际意义,这个时候就要更改下这个机制了。有时下载的模板,软件类,保持下载文件的原始中文名。
这个做起来其实只要二行代码就可以搞定了,一个文件一个,很简单。
第一个是改发布内容的时候,通过ckeditor的附件功能上传文件改名。
打开主目录/include/dialog/select_soft_post.php,在if(!empty($newname))之前,也就是大约49行的位置,加入$newname = $uploadfile_name;
第二个是改附件管理中上传新文件后的更名机制
打开主目录/dede(管理目录)/media_add.php,在大约61行的位置,加入$filename = $upfile_name;然后注释掉下面四行代码:
$filename = “{$adminid}_”.MyDate(“His”,$uptime).mt_rand(100,999).$i;
$fs = explode(“.”,${“upfile”.$i.”_name”});
$filename = $filename.”.”.$fs[count($fs)-1];
$filename = $savePath.”/”.$filename;