正常情况下, dede织梦系统的图片附件是按日保存的, 一天一个文件夹, 即:20080103这种形式, 时间长了, 这样在allimg文件夹中就会生成很多图片目录文件夹, 不方便维护管理.
虽然, dede的后台设置有“附件保存形式(按data函数日期参数):”的选项, 但功能太弱, 设置后无效, 如果是在后台上传和文章抓取来的图片还是不起作用, 仍然是以天为单位存放附件,下面就详细介绍如何修改DEDE的代码, 让图片附件都按月保存.
1. 后台设置按月保存
在dede后台, 系统>系统基本参数>附件设置, 有一个设置项“附件保存形式(按data函数日期参数):”默认的值是:ymd 就是年月日的意思. 把他改成ym就是按年月保存附件, 把他改成y就是按年保存附件.
但这在前面已经讲解, 只有在用FCK中上传功能上传文件时有用. 你可以在后台测试一下就知道了. 用“上传新文件” 上传的文件还是按日存放 . 发表文章中如果选择了图片本地化, 图片文件还是按日保存.
所以这一步就省略掉了
下面就把这两个改过来.
2. “后台上传”也按月保存
打开后台目录dede(默认为dede,如果你改过请找到对应的文件夹). 打开文件 media_add.php , 找到如下代码
(默认的在第25行)
$dpath = MyDate("ymd",$uptime);
修改为:
$dpath = MyDate("ym",$uptime);
这样你在以后后台上传文件时就会按月存放了.
3. “下载远程图片”按月存放
同样在后台, 展开文件 dede/inc/inc_archives_functions.php 找到如下代码
(默认的在第96行)
$imgUrl = $cfg_uploaddir.'/'.MyDate("ymd",time());
修改为:
$imgUrl = $cfg_uploaddir.'/'.MyDate("ym",time());
以后图片本地化的附件就会按月保存。
备注:MyDate("ymd")与MyDate("Ymd")是不一样的,MyDate("ymd")是150608而MyDate("Ymd")是20150608,所以在改时应该注意大小写。