dedecms织梦上传图片文件路径修改方法

织梦CMS 11个月前 (01-02) 143次浏览 已收录 0个评论

DedeCMS 织梦的文章图片会有一个固定的文件夹存放,但是随着时间推移和文章越来越多,就会暴露一个弊端,如下图:

dedecms 织梦上传图片文件路径修改方法

我们会发现 Dede 默认生成的文件夹是以天来算的,每天都更新文章并上传图片的话就会生成大量文件夹,这样一来网站的附件管理就会十分麻烦,同时生成的图片的路径也显得十分冗长,如果要做图片 SEO 就会对收录不利,今天就来教教大家如何修改 Dede 图片上传路径。

最简单的方法:直接使用后台设置按年月保存的方法

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

dedecms 织梦上传图片文件路径修改方法

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

dedecms 织梦上传图片文件路径修改方法

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

dedecms 织梦上传图片文件路径修改方法

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

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());

这样你在采集资源时远程资源本地化自动生成的文件夹时就会按年月存放了。


本文版权归湖南 SEO所有丨如需转载请注明文章出处
原文地址:https://www.wangxiaoyou.com/2820.html
喜欢 (0)
[736035566@qq.com]
分享 (0)
发表我的评论
取消评论
表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址