主页 > 网络教程 > 织梦Dede > 织梦dedeCMS更换文章已有图片路径以及修改图片上传路径

推荐工具

最新微信淘客淘宝客公众号系统搭建

最新微信淘客淘宝客公众号系统搭建

编号: S13   浏览: 7309

淘宝客网站三端合一网站搭建(年版)

淘宝客网站三端合一网站搭建(年版)

编号: S250   浏览: 5153

推荐素材

网站网页设计公司企业网站模板

网站网页设计公司企业网站模板

编号: S339   浏览: 2804

父爱如山父亲节假日宣传海报

父爱如山父亲节假日宣传海报

编号: S172   浏览: 5460

织梦dede响应式智能家居橱柜设计类网站自适应模板

织梦dede响应式智能家居橱柜设计类网站自适应模板

编号: S247   浏览: 6492

织梦dedeCMS更换文章已有图片路径以及修改图片上传路径

浏览: 次     责任编辑: Dawolf

许多站长都会遇到更换站点文件目录或者空间域名(包括从本地环境上传服务器)的情况,常常导致dedecms图片和缩略图不能够正常显示,再者也包括网站运行一段时间已经发布了一些带图片的文章后想更换图片目录的情况(默认每天的图片都会有一个文件夹,时间久了目录繁冗,不利于维护)。 如图:

织梦dedeCMS更换文章已有图片路径以及修改图片上传路径


于是有必要批量替换图片路径。

但是如果要一个一个更换图片的路径url,工作量将是巨大的。 
这里介绍一种批量替换dede图片路径的方法: 
使用数据库操作,但在这之前请备份数据库!!!!!!!!

要改的数据表

DEDE的文章缩略图在dede_archives表,字段是litpic; 
内容里的图片在dede_addonarticle表,字段body; (如果自己添加了其他的模型文件,自行找到对应数据表即可)
图片集里面的图片在dede_addonimages表,字段imgurls以及body。

1、文章缩略图

1.1 SQL命令行工具

update `表名` set `字段`=replace(字段,'旧域名','新域名');
例如:update `dede_archives` set `litpic`=replace(litpic,'/test/uploads','/uploads');

1.2 数据库内容替换
在DEDE后台的核心设置,批量维护里有批量替换数据库内容。 
在被替换的内容里面写入原来的文件夹或域名,在替换为内容里面写入新的文件夹或域名,最后点击开始替换数据。 

织梦dedeCMS更换文章已有图片路径以及修改图片上传路径


2、文章内容的图片

2.1 SQL命令行工具

update `表名` set `字段`=replace(字段,'旧域名','新域名');
例如:update `dede_addonarticle` set `body`=replace(body,'/test/uploads','/uploads');

2.2 数据库内容替换

跟1.1的一样,只需要改表名(dede_addonarticle)以及字段(body)。

这里有一点需要注意:
如果是【
网站运行一段时间已经发布了一些带图片的文章后想更换图片目录的情况,那么就需要先在uploads文件夹下新建对应的/年月文件夹(已有的话则直接使用即可),然后将原来年月日文件夹内的图片迁移到对应/年月文件夹下,迁移后那些年月日的文件夹就没什么用了,可以删除,这样算完成!



接下来就教教大家如何修改Dede图片上传路径。
 

打开DedeCMS后台,系统>系统基本参数>附件设置,有一个设置项“附件保存形式(按data函数日期参数)”,默认的值是:ymd 也就是年月日的意思,把它改成ym就是按年月保存附件了,同理改成y择按年保存附件。

 织梦dedeCMS更换文章已有图片路径以及修改图片上传路径

修改前,文章上传的路径为

织梦dedeCMS更换文章已有图片路径以及修改图片上传路径

修改后,文章上传的路径为

 织梦dedeCMS更换文章已有图片路径以及修改图片上传路径


这样就能实现一年中所有上传文件都存放在一个文件夹中,管理起来也比较方便。可是当织梦58采集文章的时候把采集到的图片上传后发现并没有按年存放,还是以天存放,看来,上面所做的修改只是针对后台上传文件的改变,采集和远程下载图片则还要进行下面的彻底修改:

1、使用“后台上传”时,按年月保存的方法

打开网站根目录下的文件夹,路径是:dede/media_add.php,找到:
[table=95%,,,0][tr][td]$dpath = MyDate(“ymd”,$uptime);[/td][/tr][/table]
以月存则改成:
[table=95%,,,0][tr][td]$dpath = MyDate(“ym”,$uptime);[/td][/tr][/table]
以年存则改为:
[table=95%,,,0][tr][td]$dpath = MyDate(“y”,$uptime);[/td][/tr][/table]
DedeCMS的5.7版本为:
$dpath = MyDate("ymd", $uptime);
以月存则改成:
$dpath = MyDate("ym", $uptime);
以年存放则改成:
$dpath = MyDate("y", $uptime);
这样你在网站后台上传图片文件时就会按年月存放了。

2、使用“下载远程图片”时,按年月存放的方法

登陆网站的服务器,打开网站根目录下的文件夹,路径是:dede/inc/inc_archives_functions.php找到:
[table=95%,,,0][tr][td]$imgUrl = $cfg_uploaddir.’/’.MyDate(“ymd”,time());[/td][/tr][/table]
以月存则改为:
[table=95%,,,0][tr][td]$imgUrl = $cfg_uploaddir.’/’.MyDate(“ym”,time());[/td][/tr][/table]
以年存则改为:
[table=95%,,,0][tr][td]$imgUrl = $cfg_uploaddir.’/’.MyDate(“y”,time());[/td][/tr][/table]
DedeCMS的5.7版本为:
$imgUrl = $cfg_uploaddir.'/'.MyDate("ymd", time());
以月存则改为:
$imgUrl = $cfg_uploaddir.'/'.MyDate("ym", time());
以年存则改为:
$imgUrl = $cfg_uploaddir.'/'.MyDate("y", time());

这样你以后在网站后台下载远程图片时就会按年月存放了,同样图片本地化的附件也会按年月保存。
按照以上的几个步骤,就可以保证网站在添加图片或上传新文件的时候,保存路径都是按年月命名存放的了。不过也有做采集的朋友反映说,在采集文章或图片的时候,仍然会发现存放文件是按照年月日命名的,对此,你就要按照下面的再修改一下了。

3、采集资源时远程资源本地化,按年月存放的方法

这一步是为了修改采集资源时远程资源本地化自动生成的文件夹命名。登陆网站的服务器,打开网站根目录下的文件夹,路径是:include/dedecollection.class.php,5.7版本大概在637行,找到:
$timedir = "c".MyDate("ymd",time());
以月存则改为:
$timedir = "c".MyDate("ym",time());
以年存则改为:
$timedir = "c".MyDate("y",time());
这样你在采集资源时远程资源本地化自动生成的文件夹时就会按年月存放了。

 

更改后清理缓存,重新生成整站,刷新即可看到网站的图片路径已修改


3S联盟 至上:

首先感谢您对本站的支持,本团队长期致力于
发展互联网相关项目,团队成立几年以来,我们为成千上万的客户提供了高水准的网络项目、软件、网站、公众号系统等等产品,并获得客户的一致好评。

让客户满意是我们不懈的追求,我们将继续努力
坚持创新、不断超越,争取为您带来更好的产品!

版权保护: 本文由[ 3S联盟 ]编辑,如需转载敬请保留本文链接: http://www.sss.top/jc/zmdd/135.html