- 后台直接导出(最简单、最推荐):利用DedeCMS自带的数据库导出功能。
- 数据库查询(最直接、最灵活):直接在数据库中执行SQL语句来提取图片地址。
下面我将详细解释这两种方法,并提供一些高级技巧。

通过DedeCMS后台导出(推荐新手使用)
这种方法最安全,不需要懂代码,直接利用系统功能完成。
步骤:
-
登录DedeCMS后台。
-
进入 系统 -> SQL命令行工具。
(图片来源网络,侵删) -
在文本框中输入以下SQL语句,然后点击“查询”或“执行”。
SELECT title, body FROM dede_addonimages;
title: 图集的标题。body: 这是关键,body字段里存放了图集所有图片的HTML代码,通常格式如下:<img src='/uploads/allimg/230101/1-2301011F5160-50-lp.jpg' /> <img src='/uploads/allimg/230101/1-2301011F5160-51-lp.jpg' /> ...
-
执行查询后,你会看到一个结果列表,每一行对应一个图集,
body列包含了所有图片的<img> -
复制和提取:
- 将查询结果复制出来。
- 使用文本编辑器(如 VS Code, Sublime Text, Notepad++)的“查找”功能,搜索
<img src='。 - 你可以编写一个简单的正则表达式来批量提取所有
src属性中的图片路径,在支持正则的编辑器中查找:src='([^']+)' - 这会匹配并捕获所有单引号内的图片路径,然后你就可以将它们批量复制出来了。
优点:
- 操作简单,无需修改数据库。
- 安全,不会误删数据。
缺点:
- 需要手动从HTML中提取路径,如果图集很多,手动操作会比较繁琐。
直接查询数据库(推荐高级用户或需要自动化脚本时)
如果你熟悉SQL,或者需要编写一个脚本来自动化这个过程,直接查询数据库是最快、最精确的方法。
DedeCMS图集的图片信息主要存储在两个表中:
dede_addonimages: 存储每个图集的基本信息和所有图片的HTML代码(body字段)。dede_uploads: 存储网站上所有上传文件的独立信息,包括路径、标题等。
方案A:从 dede_addonimages 表提取(与方法一类似,但可编程化)
这个方法和方法一本质一样,但你可以用编程语言(如PHP)来处理结果。
-- 查询所有图集的ID、标题和包含图片的body内容 SELECT aid, title, body FROM dede_addonimages;
你需要用代码(例如PHP)解析 body 字段中的HTML,提取所有 src 属性的值。
方案B:从 dede_uploads 表提取(更推荐,数据更纯净)
dede_uploads 表记录了每一个独立上传的文件,对于图集中的图片,它们也作为独立的文件被记录在这里,这个方法的好处是你可以直接得到所有图片的路径,而不需要解析HTML。
步骤:
-
登录你的数据库管理工具(如 phpMyAdmin)。
-
选择你的DedeCMS数据库。
-
执行以下SQL查询:
SELECT url FROM dede_uploads;
url字段存储了文件的相对路径,/uploads/allimg/230101/1-2301011F5160-50-lp.jpg。
-
执行查询,你会得到一个包含网站上所有上传文件路径的列表,这自然也包括了所有图集中的图片。
如何只获取图集图片?
dede_uploads 表没有直接的字段标记这张图片属于哪个图集,但通常图集的图片命名会有一定的规律(比如包含图集ID aid),你可以利用这一点来筛选。
假设你的图集ID是 100,你可以这样查询:
-- 查找图集ID为100的所有图片(假设图片路径中包含'100-') SELECT url FROM dede_uploads WHERE url LIKE '%100-%';
如果你需要获取所有图集的图片,最直接的方法还是使用方案A,然后解析 body 字段。
高级技巧与注意事项
-
图片路径问题:
- 从数据库中获取的路径通常是相对路径(如
/uploads/...)。 - 你需要将它与你的网站域名(如
http://www.yoursite.com)拼接起来,才能得到完整的、可访问的图片URL。 - 拼接示例:
http://www.yoursite.com+/uploads/allimg/230101/1-2301011F5160-50-lp.jpg
- 从数据库中获取的路径通常是相对路径(如
-
图片路径格式:
- 在较新版本的DedeCMS中,图片路径也可能存储在
dede_addonimages表的body字段中的data属性里,<img data-original='...' src='...' />,如果你的查询结果为空,可以尝试修改SQL中的img标签匹配规则。
- 在较新版本的DedeCMS中,图片路径也可能存储在
-
处理大量数据:
- 如果你的网站图集成千上万,直接在后台查询可能会导致页面卡顿或超时。
- 推荐使用数据库管理工具(如 phpMyAdmin)来执行查询,它通常能更好地处理大量数据。
- 你可以分批查询,例如每次只查询100条:
SELECT aid, title, body FROM dede_addonimages LIMIT 0, 100;
-
备份数据库:
- 在执行任何可能修改数据库结构的操作前,务必备份数据库!查询操作是安全的,但养成好习惯总没错。
| 方法 | 优点 | 缺点 | 适用人群 |
|---|---|---|---|
| 后台SQL查询 | 安全,无需额外工具,官方支持。 | 需要手动从HTML中提取路径,效率低。 | 新手,少量数据手动处理。 |
数据库查询 (dede_addonimages) |
可编程化处理,灵活。 | 需要解析HTML,对非技术人员不友好。 | 开发者,需要自动化脚本。 |
数据库查询 (dede_uploads) |
数据干净,直接获取路径,无需解析。 | 无法直接关联到具体图集,可能包含非图集图片。 | 开发者,需要获取所有上传文件路径。 |
对于绝大多数用户来说,方法一(后台SQL查询) 是最简单直接的起点,如果你需要处理大量数据或进行自动化操作,方法二中的方案B(查询 dede_uploads 表) 会更高效。
