当然可以!使用 Dedecms 做网页时,上传文件是一个非常核心和常用的功能,它不仅仅限于上传文章的图片,还可以用于上传软件、附件、视频等多种类型的文件,并方便地在内容页调用。

下面我将为你详细讲解在 Dedecms 中实现文件上传的各种方法、配置和注意事项。
Dedecms 文件上传的核心机制
Dedecms 的文件上传功能主要依赖于以下几个部分:
- 后台管理界面:这是你进行文件上传操作的主要入口。
- 编辑器(如 KindEditor):在编写文章时,编辑器自带了上传图片、附件等按钮。
- 核心配置文件 (
config_base.php):定义了网站的基本路径、上传目录等。 - 上传目录 (
uploads/):所有上传的文件默认都存放在这个目录及其子目录中。 - 安全机制:Dedecms 有一定的安全措施,比如上传目录的
index.html文件,以及文件类型白名单限制。
如何上传文件?(具体操作步骤)
通过文章编辑器上传(最常用)
这是在发布文章时最直接的方式,通常用于上传文章内容中的图片或附件。
- 登录后台:进入你的 Dedecms 后台管理。
- 进入“文章管理”:点击左侧菜单的“核心” -> “内容管理” -> “普通文章” 或 “自由列表” 等,然后点击“新增文章”。
- 使用编辑器:
- 上传图片:在文章编辑器(如 KindEditor)的工具栏中,找到 “图片” 图标,点击它,在弹出的窗口中,你可以选择“本地上传”,然后从你的电脑选择图片文件并上传,上传成功后,图片会自动插入到文章中。
- 上传附件:在编辑器工具栏中找到 “附件” 图标,点击它,同样,在弹出的窗口中上传你的文档、PDF、压缩包等文件,上传后,会在文章中生成一个下载链接。
- 上传视频:部分 Dedecms 版本的编辑器支持直接上传视频,或者你可以通过“附件”功能上传视频文件,然后在文章内容中用
[vodplayer]标签进行调用。
通过后台“文件管理器”上传
如果你只是想上传一个独立的文件(比如网站Logo、下载用的软件包等,不隶属于某篇文章),可以使用文件管理器。

- 登录后台。
- 进入“文件管理器”:点击左侧菜单的“核心” -> “文件管理器”。
- 选择上传目录:在文件列表中,你可以看到
uploads目录,你可以进入uploads下的子目录(如image、soft、file等),或者直接在uploads目录下上传。 - 执行上传:
- 点击右上角的 “上传文件” 按钮。
- 在弹出的窗口中,点击“选择文件”或直接拖拽文件到指定区域。
- 选择好后,点击“开始上传”。
- 上传成功后,文件就会出现在你选择的目录中。
通过“软件模型”上传(适用于下载类网站)
如果你的网站有专门的软件下载频道,Dedecms 的“软件模型”是专门为此设计的。
- 登录后台。
- 进入“软件模型”:点击“核心” -> “内容模型管理” -> “软件模型”,然后点击“增加软件内容”。
- 填写信息:在软件内容页,你可以找到专门的“软件信息”表单。
- 软件截图:可以上传多张软件截图。
- 软件大小:通常通过上传的文件自动获取。
- 本地下载地址:这是核心,点击“选择文件”或“本地上传”,上传你的软件安装包,上传后,系统会自动生成下载地址和相关信息。
重要配置与安全设置(关键!)
为了确保你的网站能正常、安全地上传文件,请务必检查以下配置。
检查上传目录权限
- 目录:
/uploads/及其所有子目录。 - 权限:必须设置为
755或775(取决于你的服务器环境)。 - 如何设置:
- 通过FTP软件:连接你的服务器,右键点击
uploads文件夹,选择“文件权限”,设置为755。 - 通过主机控制面板:如 cPanel、宝塔面板等,都有在线修改文件权限的功能。
- 重要:如果权限不正确,你将无法上传文件,或者上传后无法在网页上访问。
- 通过FTP软件:连接你的服务器,右键点击
检查 config_base.php 配置
这个文件位于 /include/config_base.php,定义了网站的基本路径。
$cfg_cmspath:确保这个值指向你的 Dedecms 安装根目录,/home/wwwroot/yourdomain.com,这会影响上传文件的生成路径。
修改上传文件大小限制
默认情况下,上传文件的大小可能被 PHP 或 Dedecms 设置得比较小。

- 修改 PHP 限制(推荐):
- 找到并编辑服务器的
php.ini文件。 - 修改以下三个参数的值(设置为
50M):upload_max_filesize = 50M post_max_size = 50M memory_limit = 128M
- 修改后,需要重启你的 Web 服务器(如 Apache 或 Nginx)。
- 找到并编辑服务器的
- 修改 Dedecms 后台限制:
- 进入后台:系统 -> 系统基本参数 -> 核心设置。
- 找到 “附件大小限制” 和 “上传图片宽度”、“上传图片高度” 等选项,进行修改。
修改允许上传的文件类型(安全重点!)
为了防止上传恶意脚本(如 .php, .asp 文件),必须严格控制允许上传的文件类型。
- 位置:后台 -> 系统 -> 系统基本参数 -> 核心设置。
- 找到以下选项并修改:
- 上传文件类型:这里定义了允许上传的文件扩展名。
- 图片:
jpg|gif|png|jpeg|bmp - 多媒体:
swf|flv|mp3|wav|wma|wmv|mid|rm|rmvb|mpg|mpeg|avi - 附件:
rar|zip|txt|doc|xls|pdf|ppt|chm|pptx|docx|xlsx
- 图片:
- 禁止上传的文件类型:可以在这里添加你绝对不允许上传的文件类型,如
php|jsp|asp|aspx。 - 上传目录安全设置:确保开启了相关安全选项。
- 上传文件类型:这里定义了允许上传的文件扩展名。
最佳实践:
- 不要开放PHP等脚本的上传:在“附件”类型中,绝对不要包含
php、asp等扩展名。 - 重命名上传文件:可以开启“将文件名改为日期+随机数”的功能,避免文件名冲突和安全隐患。
如何在网页中调用上传的文件?
上传文件后,你需要在模板中调用它们。
调用文章内的图片和附件
-
图片:在文章内容中插入的图片,可以直接通过
{dede:field.body/}标签在文章模板中输出,编辑器会自动处理路径。 -
附件:在文章列表页或文章详情页,可以使用以下标签:
{dede:field name='filetype'/}:获取附件类型。{dede:field name='filename'/}:获取附件原始文件名。{dede:field name='url'/}:获取附件的下载地址,这是最常用的。
示例(在文章详情页模板
article_article.htm中):{dede:field name='body'/} <h3>相关附件下载:</h3> {dede:field name='filelist'/}field.filelist会自动生成一个附件列表。
调用文件管理器中的独立文件
如果你通过“文件管理器”上传了一个 Logo 图片,放在 uploads/images/logo.png,想在模板中调用它,直接使用绝对路径或相对路径即可。
<img src="/uploads/images/logo.png" alt="网站Logo">
调用软件模型的下载地址
在软件详情页模板中,可以直接使用 {dede:field name='softlinks'/} 来输出软件的下载链接。
| 功能点 | 实现方式 | 关键配置/标签 |
|---|---|---|
| 文章内上传 | 使用编辑器的“图片”和“附件”按钮 | {dede:field.body/}, {dede:field.filelist/} |
| 独立文件上传 | 使用后台“文件管理器” | 直接使用文件路径,如 /uploads/xxx.zip |
| 软件上传 | 使用“软件模型”发布内容 | {dede:field.name='softlinks'/} |
| 上传目录权限 | 通过FTP或主机面板设置 | /uploads/ 目录权限为 755 |
| 上传文件大小 | 修改 php.ini 或后台参数 |
upload_max_filesize, post_max_size |
| 安全控制 | 修改后台“允许上传的文件类型” | 严格限制 php, asp 等脚本类型 |
Dedecms 的文件上传功能非常完善且灵活,只要你掌握了后台操作、关键配置和模板调用方法,就能轻松实现各种文件上传需求。安全配置是其中最重要的一环,请务必重视。
