DEDECMS 是一款功能强大的内容管理系统,它为用户提供了丰富的功能来管理网站内容。在实际使用中,为了更好地组织和管理图片资源,许多用户希望实现图片按月存放的功能。本文将详细介绍如何通过修改代码来实现这一目标。

要实现 DEDECMS 图片按月存放,首先需要对系统的核心文件进行修改。以下是具体的操作步骤:

第一步:打开目录 include 中的 dedecollection.class.php 文件。

// 获得下载媒体的随机名称
function GetRndName($url, $v)
{
    global $cfg_image_dir, $cfg_dir_purview;
    $this->mediaCount++;
    $mnum = $this->mediaCount;
    $timedir = "c" . MyDate("ym", time()); // 修改此处,去掉原有的 d 即可按月存放,同理你可以根据自己的喜好设定
    // 存放路径
    $fullurl = preg_replace("//{1,}/", "/", $cfg_image_dir . "/");
    if (!is_dir($GLOBALS['cfg_basedir'] . "/" . $fullurl)) {
        MkdirAll($GLOBALS['cfg_basedir'] . "/" . $fullurl, $cfg_dir_purview);
    }
    $fullurl = $fullurl . $timedir . "/";
    if (!is_dir($GLOBALS['cfg_basedir'] . "/" . $fullurl)) {
        MkdirAll($GLOBALS['cfg_basedir'] . "/" . $fullurl, $cfg_dir_purview);
    }
}

第二步:后台及远程下载存放方法

打开后台目录(默认为 dede,如果你改过,请找到对应的文件夹)。然后打开文件 media_add.php,找到如下代码(默认在第 25 行):

$dpath = MyDate("ymd", $uptime);

将其修改为:

$dpath = MyDate("ym", $uptime);

这样,在以后后台上传文件时就会按月存放了。

第三步:下载远程图片按月存放

同样在后台,打开文件 dede/inc/inc_archives_functions.php,找到如下代码(默认在第 96 行):

$imgUrl = $cfg_uploaddir . '/' . MyDate("ymd", time());

将其修改为:

$imgUrl = $cfg_uploaddir . '/' . MyDate("ym", time());

完成以上修改后,图片本地化的附件就会按月保存。

通过以上步骤,您可以轻松地在 DEDECMS 系统中实现图片按月存放的功能。这不仅有助于提高网站的管理效率,还可以使文件结构更加清晰,便于后续维护。如果您有任何疑问或需要进一步的帮助,请随时查阅官方文档或联系技术支持团队。