在使用Dedecms构建网站时,尤其是像QQ站这样的项目,我们常常需要对远程图片进行处理,例如按照“年月”这样的文件目录结构进行存储。例如:2012/08/xxx.jpg。这一需求在Dedecms 5.7版本中似乎得到了满足,因为后台新增了“附件保存形式(按data函数日期参数)”的设置选项。然而,在实际操作中,许多用户发现这一功能并不能正常工作。本文将详细介绍如何解决这一问题。
首先,确认您使用的Dedecms版本是否为5.7,因为早期版本如5.6并不支持该功能。如果您的Dedecms版本正确,但在测试后仍然无法实现按日期参数保存附件的功能,那么可以尝试以下方法进行修复。
找到并打开文件 `dede/inc/inc_archives_functions.php` (其中 `dede` 是Dedecms默认管理后台目录)。接下来,我们需要对这个文件进行两处修改。
第一处修改:

global $cfg_multi_site,$cfg_basehost,$cfg_basedir,$cfg_image_dir,$arcID,$cuserLogin,$dsql;
    
将其更改为:

global $cfg_multi_site,$cfg_basehost,$cfg_basedir,$cfg_image_dir,$arcID,$cuserLogin,$dsql,$cfg_addon_savetype;
    
第二处修改:

$imgUrl = $cfg_uploaddir.'/'.MyDate("ymd", time());
    
更改为:

$imgUrl = $cfg_uploaddir.'/'.MyDate($cfg_addon_savetype, time());
    
完成上述修改后,保存文件并重新上传到服务器相应位置。接着,您可以再次尝试发布文章,观察远程图片是否能够按照设定的日期格式进行存储。
小贴士:`inc_archives_functions.php` 文件是Dedecms文档处理相关的核心文件之一,它包含了诸如获取远程图片、删除非本站链接等功能的实现代码。如果您对Dedecms的底层逻辑感兴趣,不妨深入研究一下这个文件。
通过以上步骤,您应该能够成功解决Dedecms中“附件保存形式(按data函数日期参数)”参数无效的问题。希望这篇文章能帮助到正在为此苦恼的朋友们。