织梦文章图片路径在uploads/allimg下,每天都会生成一个文件夹怎么办?
解决方法:直接使用后台设置
打开DedeCMS后台,系统>系统基本参数>附件设置,有一个设置项“附件保存形式(按data函数日期参数)”,默认的值是:ymd 也就是年月日的意思,把它改成ym就是按年月保存附件了,同理改成y择按年保存附件。
修改前,文章上传的路径为
修改后,文章上传的路径为
这样就能实现一年中所有上传文件都存放在一个文件夹中,管理起来也比较方便。如果想要找当天上传的图片,查看日期即可。
上面所做的修改只是针对后台上传文件的改变,采集和远程下载图片则还要进行下面的修改:
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());
这样你在采集资源时远程资源本地化自动生成的文件夹时就会按年月存放了。