问题根源分析
织梦CMS为了提高网站访问速度,大量使用了缓存机制,当你通过后台修改了图片,但前台页面没有立即更新,最核心的原因就是缓存没有及时清除。

织梦的缓存主要存在于以下几个地方:
- 模板缓存:这是最常见的原因,织梦会将你写的模板文件(如
index.htm,article_article.htm)编译成一个PHP文件(如index.php),并存放在/data/tplcache/目录下,前台页面调用的是这个编译后的缓存文件,而不是你原始的模板文件,如果你在后台修改了图片,但这个编译文件没有重新生成,前台自然就不会显示新图片。 - 栏目/文档缓存:织梦会生成栏目页和列表页的静态HTML文件(或缓存文件),这些文件也是独立的,修改单篇文章或图片并不会自动触发这些页面的更新。
- 数据表缓存:一些系统配置或调用标签可能会被缓存,虽然不常见,但也有可能。
- 浏览器缓存:你的浏览器也可能缓存了旧的页面,导致你看到的还是旧图。
解决方案(按推荐顺序尝试)
请按照以下步骤逐一排查和解决,通常前几步就能解决问题。
使用织梦后台的“一键更新”功能(最常用、最有效)
这是针对模板缓存和文档缓存最直接、最标准的方法。
- 登录织梦后台。
- 在顶部菜单栏找到 “生成” -> “一键更新网站”。
- 在打开的页面中,务必勾选所有选项,特别是:
- 更新主页HTML
- 更新栏目HTML
- 更新文档HTML
- 更新所有页面
- 点击 “开始执行” 按钮。
说明:这个操作会强制织梦重新编译所有模板文件,并重新生成所有栏目页和内容页的静态文件,执行完成后,清除浏览器缓存再访问网站,图片应该就更新了。这是解决90%此类问题的首选方法。

手动删除模板缓存文件(方案一的补充)
一键更新”后问题依旧,可能是缓存文件没有被正确覆盖或删除。
- 通过FTP工具或你的虚拟主机控制面板,进入网站的
/data/目录。 - 找到并进入
tplcache文件夹。 - 删除该文件夹下的所有
.php文件。 - 删除后,回到网站后台,重新访问一下前台页面,织梦会自动重新生成这些缓存文件。
检查调用图片的标签代码
有时候问题不在于缓存,而在于你调用的图片路径本身就是错误的,织梦的图片路径通常有几种写法,请确保你的代码是正确的。
假设你的文章内容字段是 body,图片上传后,织梦会自动生成缩略图(litpic)和保留原图路径。
调用文章缩略图(推荐)

这是最标准、最高效的方式,调用的是后台自动裁剪好的缩略图。
{dede:field name='litpic'/}
或者更完整的写法(支持自定义大小):
<img src="{dede:field name='litpic'/}" alt="{dede:field.title/}" />
调用文章正文中的第一张图片
如果你想在列表页调用文章正文里的第一张图片作为封面,可以使用 arc.listview.class.php 里的一个方法。
[field:array runphp='yes']
@me = (strpos(@me['body'], '<img') !== false ? GetOneImgUrl(@me['body']) : '');
[/field:array]
注意:这个方法需要在列表页模板中启用 {dede:arclist} 标签的 array 属性,并且你的织梦版本支持此函数。
调用上传到附件中的图片
如果你使用了“附件管理”功能上传图片,可以在编辑文章时插入图片,然后在模板中调用。
{dede:field name='imgurls'/}
这会输出所有上传的图片,你可以用循环来调用:
{dede:field.imgurls}
<img src="[field:src/]" alt="[field:text/]" />
{/dede:field.imgurls}
常见错误:
- 硬编码路径:直接在模板里写死路径,如
<img src="/uploads/2025/10/old.jpg">,这样修改文章里的图片后,模板里的路径不会变。 - 调用错误字段:比如想调用缩略图却用了
{dede:field name='body'/},这会调用文章全文。
检查图片路径是否正确
如果以上方法都无效,请检查你新上传的图片是否真的存在于服务器上。
- 通过FTP登录,进入网站的
/uploads/目录。 - 根据你的上传日期,找到对应的文件夹(如
uploads/allimg/...)。 - 确认你的新图片文件是否在此目录中,并且文件名和路径是否正确。
- 检查图片的权限是否正确(通常是
755或644)。
如果图片文件丢失或路径错误,你需要重新上传图片。
清除浏览器缓存
问题出在你自己身上,你的浏览器可能还保存着旧的页面。
- Chrome/Edge: 按
Ctrl + F5(Windows) 或Cmd + Shift + R(Mac) 强制刷新页面。 - 或者打开浏览器的“开发者工具”(F12),在“网络”选项卡中勾选“禁用缓存”,然后刷新页面。
总结与排查流程
当你遇到“织梦图片更改后不更新”的问题时,请按照以下流程进行排查:
- 第一步(首选):登录后台,使用 “生成” -> “一键更新网站” 功能,全选并更新。
- 第二步:如果无效,通过FTP删除
/data/tplcache/目录下的所有文件。 - 第三步:检查模板中调用图片的 标签代码 是否正确(推荐使用
{dede:field.name='litpic'/})。 - 第四步:通过FTP确认新图片文件是否已成功上传到服务器的
/uploads/目录。 - 第五步:在本地浏览器按
Ctrl + F5强制刷新页面。
按照这个流程,99%的图片不更新问题都可以得到解决,如果问题依然存在,可能需要检查服务器配置或插件冲突,但这属于比较小概率的事件了。
