修改DedeCMS图片上传路径命名规则的具体方法
最近在整理网站根目录下文件的时候,发现马海祥博客网站已经有上千个文件夹了,其中光图片文件夹就占了近一半。这个主要是由于dedecms后台管理系统的图片附件是自动按日保存的,只有有图片或附近上传,就会一天生成一个文件夹,时间长了,就在allimg中就会生成大量的文件夹,对网站的转移和管理来说真的是很不方便呀!
所以在此我根据修改马海祥博客的方法,也在这跟大家分享一下,我是怎么修改网站的图片文件夹只按年月命名保存的,使网站每天上传的图片及附件以每月只生成并保存在一个文件夹下:
1、直接使用后台设置按年月保存的方法
打开dedecms后台,系统>系统基本参数>附件设置,有一个设置项“附件保存形式(按data函数日期参数)”,默认的值是:ymd 也就是年月日的意思,把他改成ym就是按年月保存附件了。
据我在马海祥博客网站上的测试来看,这作用好像不大完善,只有在用FCK中上传功能上传文件或自动生成缩略图的时候能起到作用。关于这点大家可以在后台测试一下就知道了。用“上传”新文件的时候还是按年月日自动生成存放的。如果想彻底的解决这个问题,就需要大家仔细的看下马海祥博客跟大家分享的第2、3步骤了。
2、使用“后台上传”时,按年月保存的方法
登陆网站的服务器,打开网站根目录下的文件夹,文件打开路径是:dede/media_add.php(注:dede,为dedeCMS默认的后台路径),找到:
[table=95%,,,0][tr][td]$dpath = MyDate(“ymd”,$uptime);[/td][/tr][/table]
改成:
[table=95%,,,0][tr][td]$dpath = MyDate(“ym”,$uptime);[/td][/tr][/table]
DedeCMS的5.7版本为:
$dpath = MyDate("ymd", $uptime);
改成:
$dpath = MyDate("ym", $uptime);
这样你在网站后台上传图片文件时就会按年月存放了。
3、使用“下载远程图片”时,按年月存放的方法
登陆网站的服务器,打开网站根目录下的文件夹,文件打开路径是:dede/inc/inc_archives_functions.php(注:dede,为dedeCMS默认的后台路径),找到:
[table=95%,,,0][tr][td]$imgUrl = $cfg_uploaddir.’/’.MyDate(“ymd”,time());[/td][/tr][/table]
改为:
[table=95%,,,0][tr][td]$imgUrl = $cfg_uploaddir.’/’.MyDate(“ym”,time());[/td][/tr][/table]
DedeCMS的5.7版本为:
$imgUrl = $cfg_uploaddir.'/'.MyDate("ymd", time());
改为:
$imgUrl = $cfg_uploaddir.'/'.MyDate("ym", time());
这样你以后在网站后台下载远程图片时就会按年月存放了,同样图片本地化的附件也会按年月保存。
按照以上的3个步骤,就可以保证网站在添加图片或上传新文件的时候,保存路径都是按年月命名存放的了。不过也有做采集的朋友反映说,在采集文章或图片的时候,仍然会发现存放文件是按照年月日命名的,对此,你就要按照下面的第4步再修改一下了。
4、采集资源时远程资源本地化,按年月存放的方法
这一步是为了修改采集资源时远程资源本地化自动生成的文件夹命名。登陆网站的服务器,打开网站根目录下的文件夹,文件打开路径是:include/dedecollection.class.php,5.7版本大概在637行,找到:
$timedir = "c".MyDate("ymd",time());
改为:
$timedir = "c".MyDate("ym",time());
这样你在采集资源时远程资源本地化自动生成的文件夹时就会按年月存放了。