muban大师 发表于 2020-4-25 08:36:56

DEDECMS附件按月保存,修改DEDE附件不按天保存

织梦DEDECMS附件按月保存,修改DEDE附件不按天保存
       
        使用过织梦DEDECMS的朋友都知道,上传图片或附件时,都会自动创建一个当天的文件夹来装,这个每天添加图片和内容时,都会产生一个文件夹,事必很多余的,怎么样修改自动创建的目录按月来保存呢?
       
       
        正常情况下,dede织梦系统的图片附件是按日保存的,一天一个文件夹, 时间长了, 这样在allimg中就会生成很多文件夹, 不方便管理.
        虽然, dede的后台设置有”附件保存形式”的先项, 但功能太弱,如果是在后台上传和图片本地化还是没有作用,附件仍然是按日存放,下面就修改一下DEDE的代码, 让全部的图片附件都按月保存.
       
        1. 后台设置按月保存.
        在dede v5.5后台, 系统>系统基本参数>附件设置, 有一个设置项 “附件保存形式“, 默认的值是:ymd 就是年月日的意思. 把他改成ym就是按年月保存附件了.
        但这作用好像不大, 只有在用FCK中上传功能上传文件有作用. 你在后台测试一下就知道了. 用”上传新文件” 上传的文件还是按日存放 . 发表文章中如果选择了图片本地化, 图片文件还是按日保存.
        下面就把这两个也改过来.
       
        2. “后台上传”也按月保存.
        在后台文件夹,打开文件 dede/media_add.php  (dede,为织梦CMS默认的后台路径),找到:
        $dpath = MyDate(“ymd”,$uptime);
        改成:
        $dpath = MyDate(“ym”,$uptime);
        这样你在后台上传文件时就也会按月存放了,
       
        3. “下载远程图片”按月存放.
        也是在后台, 找到文件 dede/inc/inc_archives_functions.php (dede,为织梦CMS默认的后台路径) 查找:
        $imgUrl = $cfg_uploaddir.’/’.MyDate(“ymd”,time());
        改为:
        $imgUrl = $cfg_uploaddir.’/’.MyDate(“ym”,time());
       
        以后图片本地化的附件也会按月保存.
       
        可以看得出来, 因为系统都是直接通过MyDate函数来取得或创建文件夹, 没有对设置进行检查. 所以得改代码. 其实也可以改成对设置进行判断, 这样就更完美.
页: [1]
查看完整版本: DEDECMS附件按月保存,修改DEDE附件不按天保存