织梦图片上传文件路径更改

优采云 发布时间: 2020-04-08 11:03

  

  dedecms的文章图片会有一个固定的文件夹储存,但是随着时间推移和文章越来越多织梦上传图片默认路径,就会曝露一个弊病,如下图:

  

  我们会发觉Dede默认生成的文件夹是以天来算的,每天都更新文章并上传图片的话还会生成大量文件夹,这样一来网站的附件管理都会非常麻烦,同时生成的图片的路径也变得非常繁琐,如果要做图片seo都会对收录不利织梦上传图片默认路径,今天织梦58就来教教你们怎么更改Dede图片上传路径。

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

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

  

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

  

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

  

  这样能够实现一年中所有上传文件都储存在一个文件夹中,管理上去也比较便捷。可是当织梦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());

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

0 个评论

要回复文章请先登录注册


官方客服QQ群

微信人工客服

QQ人工客服


线