正常情况下, dede织梦系统的图片附件是按日保存的, 一天一个文件夹, 即:20080103这种形式, 时间长了, 这样在allimg文件夹中就会生成很多图片目录文件夹, 不方便维护管理.

虽然, dede的后台设置有“附件保存形式(按data函数日期参数):”的选项, 但功能太弱, 设置后无效, 如果是在后台上传和文章抓取来的图片还是不起作用, 仍然是以天为单位存放附件,下面就详细介绍如何修改DEDE的代码, 让图片附件都按月保存.

1. 后台设置按月保存
在dede后台, 系统>系统基本参数>附件设置, 有一个设置项“附件保存形式(按data函数日期参数):”默认的值是:ymd 就是年月日的意思. 把他改成ym就是按年月保存附件, 把他改成y就是按年保存附件.

但这在前面已经讲解, 只有在用FCK中上传功能上传文件时有用. 你可以在后台测试一下就知道了. 用“上传新文件” 上传的文件还是按日存放 . 发表文章中如果选择了图片本地化, 图片文件还是按日保存.
所以这一步就省略掉了

下面就把这两个改过来.
2. “后台上传”也按月保存
打开后台目录dede(默认为dede,如果你改过请找到对应的文件夹). 打开文件 media_add.php , 找到如下代码
(默认的在第25行)


  1. $dpath = MyDate(“ymd”,$uptime);

修改为:


  1. $dpath = MyDate(“ym”,$uptime);

这样你在以后后台上传文件时就会按月存放了. 3. “下载远程图片”按月存放 同样在后台, 展开文件 dede/inc/inc_archives_functions.php 找到如下代码 (默认的在第96行)


  1. $imgUrl = $cfg_uploaddir.’/’.MyDate(“ymd”,time());

修改为:


  1. $imgUrl = $cfg_uploaddir.’/’.MyDate(“ym”,time());

以后图片本地化的附件就会按月保存