DedeCMS的图片上传路径配置非常灵活,主要分为两大块:系统默认路径和自定义路径,通常我们所说的“自定义”是指后者。

系统默认的图片上传路径
在DedeCMS中,系统为不同类型的上传内容预设了默认的文件夹,了解这些默认路径有助于你理解整个文件结构。
这些路径通常在你的网站根目录下的 /uploads/ 文件夹中。
类型 | 默认文件夹路径 | 说明 |
| :--- | :--- | :--- |
| 图片 | /uploads/allimg/ | 这是你在写文章时,通过编辑器上传的图片存放的地方。allimg 意为 "all images"。 |
| 软件相关附件 | /uploads/softup/ | 发布软件时,软件的安装包、截图等附件存放的地方。 |
| 产品图片 | /uploads/product/ | 在产品模块中上传的图片存放的地方。 |
| 图集图片 | /uploads/album/ | 发布图集专题时,上传的图片存放的地方。 |
| 会员头像 | /uploads/avatars/ | 会员上传的头像存放的地方。 |
| 其他附件 | /uploads/other/ | 其他类型的附件,如文档、压缩包等。 |
如果你在文章编辑器里上传了一张图片,它大概率会存放在 /uploads/allimg/ 目录下。
如何自定义图片上传文件夹
自定义文件夹主要通过修改DedeCMS的配置文件来实现,最常用和最核心的修改是针对 图片 的路径。

修改文章内容图片的默认上传文件夹(最常用)
这是最核心的自定义方式,它决定了你在后台编辑文章时,通过编辑器上传的图片会去哪里。
操作步骤:
-
找到配置文件 登录你的网站FTP或主机文件管理器,找到并打开
dede文件夹(后台管理目录)。 在里面找到名为config.php的文件。 -
修改配置项 用文本编辑器(如Notepad++, VS Code等)打开
config.php文件。 找到这一行代码:
(图片来源网络,侵删)$cfg_medias_dir = '/uploads/allimg';
这里的
$cfg_medias_dir就是控制文章内容图片上传路径的变量。 -
设置新的路径 将值修改为你想要的文件夹名称,你想把它存放在
/uploads/article_images/目录下,就修改为:$cfg_medias_dir = '/uploads/article_images';
注意:
- 路径是相对于你的网站根目录的。
- 建议使用有意义的英文或拼音命名,如
articlepics,wenzhangtupian等。 - 确保这个文件夹在
/uploads/目录下已经存在,或者DedeCMS有权限自动创建它。
-
保存并测试 保存
config.php文件,然后登录DedeCMS后台,去发布一篇新文章,通过编辑器上传一张图片,检查图片是否被保存到了你新设置的文件夹中。
通过后台设置修改附件保存目录
除了直接修改文件,DedeCMS也提供了一个后台的设置入口,但这个入口通常指向的是附件的通用路径,对图片编辑器内的上传可能不直接生效,但了解一下是有好处的。
操作步骤:
- 登录DedeCMS后台。
- 在左侧菜单栏中,找到并进入 【系统】 -> 【基本参数设置】。
- 在“基本参数设置”页面中,找到 【附件设置】 这个分类。
- 你会看到类似“附件保存目录”的选项,它的值通常是
{cmspath}/uploads/。- 这个设置更多的是影响通过“附件管理”功能上传的文件,或者系统在处理某些非内容图片时的默认路径。
- 对于文章编辑器里的图片上传,方法一(修改
config.php)是更直接、更有效的方式。
如何为不同栏目设置不同的图片文件夹(高级技巧)
有时候我们希望“新闻”栏目的图片存在一个文件夹,“产品”栏目的图片存在另一个文件夹,这需要通过修改模板和调用标签来实现,无法在后台直接设置。
核心思路: 在调用文章图片的地方,通过判断栏目的ID或别名,来拼接出不同的图片路径。
示例(通过修改列表页或内容页模板):
假设你的模板文件是 list_article.htm(列表页)或 article_article.htm页)。
-
找到调用文章图片的标签 通常是这样的标签:
<img src='{dede:field name='litpic'/}' alt='{dede:field name='title'/}' />或者
[field:litpic/]
-
使用PHP代码判断并拼接路径 你可以用PHP的
if语句来判断当前栏目的ID,然后输出不同的路径。示例代码:
{dede:arclist typeid='栏目ID' row='10'} <li> <?php // 获取当前栏目的ID $typeid = $typeid; // 定义不同栏目对应的图片文件夹 if ($typeid == 1) { // 假设栏目ID为1的是“新闻”栏目 $img_dir = '/uploads/news_images/'; } elseif ($typeid == 2) { // 假设栏目ID为2的是“产品”栏目 $img_dir = '/uploads/product_images/'; } else { $img_dir = '/uploads/default_images/'; // 其他栏目使用默认路径 } // 拼接出完整的图片地址 $full_img_path = $img_dir . $fields['litpic']; ?> <img src="<?php echo $full_img_path; ?>" alt="<?php echo $fields['title']; ?>" /> </li> {/dede:arclist}注意: 这种方法需要对PHP和DedeCMS标签有一定了解,并且修改模板文件,它适用于对网站结构有精细化管理的需求。
总结与最佳实践
| 需求场景 | 推荐方法 | 优点 | 缺点 |
|---|---|---|---|
| 统一修改所有文章图片的存放位置 | 修改 dede/config.php |
简单、直接、一劳永逸 | 修改核心文件,升级时需注意覆盖 |
| 修改附件、软件等的默认路径 | 后台:系统 -> 基本参数设置 -> 附件设置 | 可视化操作,安全 | 对文章编辑器图片上传可能不直接生效 |
| 为不同栏目设置独立图片文件夹 | 修改模板,用PHP判断 | 灵活性极高,精细化管理 | 需要技术能力,修改复杂,维护成本高 |
对于绝大多数用户来说,掌握方法一(修改 config.php) 就足以满足自定义图片文件夹的需求了,在操作前,建议先备份一下 config.php 文件,以防万一。
