如何解决dedecms织梦系统中的文件夹和图片文件排序问题?

avatar
作者
猴君
阅读量:0
在DedeCMS中,站内选择文件夹和图片文件排序问题可以通过修改相应的模板文件和配置文件来实现。具体操作如下:,,1. 打开模板文件夹(默认路径为:/templets/default/),找到并打开“uploads_image.htm”文件。,,2. 在文件中查找以下代码:,,``php,{dede:field name='typedir'/},`,,3. 将其替换为:,,`php,{dede:field name='typedir' orderby='sortrank'/},``,,4. 保存文件并上传到服务器。,,这样,DedeCMS织梦站内的文件夹和图片文件就会按照排序顺序显示了。

在Dedecms(织梦)CMS系统中,站内选择文件夹和图片文件排序问题常常困扰着用户,本文将详细介绍如何通过修改PHP代码来解决这一问题,并保证内容的准确性、排版的精美以及逻辑的清晰。

如何解决dedecms织梦系统中的文件夹和图片文件排序问题?

解决思路

1、读取文件列表:通过dir()函数读取目录中的文件列表。

2、获取文件信息:计算每个文件的大小和创建时间。

3、排序文件:使用“文件名”和“修改时间”作为键值对,存入数组中,然后对修改时间进行倒序排序。

4、输出结果:使用foreach循环输出排序后的文件列表。

实现教程

1、打开 include/dialog/select_images.php 文件:找到以下代码段:

```php

$dh = dir($inpath);

...(中间代码省略)...

$dh>close();

```

2、替换原有代码:将上述代码替换为以下新代码:

```php

$dh = dir($inpath);

$ty1="";

$ty2="";

$filearr = array();

while($file = $dh>read()) {

//计算文件大小和创建时间

if($file!="." && $file!=".." && !is_dir("$inpath/$file")){

$filetime = filemtime("$inpath/$file");

$filetime = MyDate("Ymd H:i:s", $filetime);

$filearr[] = $file;

$filetimearr[] = $filetime;

}

if($file == ".") continue;

else if($file == "..")

{

if($activepath == "") continue;

$tmp = preg_replace("#[/][^/]*$#i", "", $activepath);

$line = "

<td class='linerow' colspan='2'>

<a href='select_images.php?imgstick=$imgstick&v=$v&f=$f&activepath=".urlencode($tmp).$addparm."'><img src=img/dir2.gif border=0 width=16 height=16 align=absmiddle>上级目录</a></td>

<td colspan='2' class='linerow'> 当前目录:$activepath</td>

</tr>

";

echo $line;

}

else if(is_dir("$inpath/$file"))

如何解决dedecms织梦系统中的文件夹和图片文件排序问题?

{

if(preg_match("#^_(.*)$#i", $file)) continue; #屏蔽FrontPage扩展目录和linux隐蔽目录

if(preg_match("#^.(.*)$#i", $file)) continue;

$dirarr[] = $file;

}

}

//End Loop

$dh>close();

arsort($dirarr);

foreach($dirarr as $file)

{

$line = "

<td bgcolor='#F9FBF0' class='linerow' colspan='2'>

<a href='select_images.php?imgstick=$imgstick&v=$v&f=$f&activepath=".urlencode("$activepath/$file").$addparm."'><img src=img/dir.gif border=0 width=16 height=16 align=absmiddle>$file</a></td>

<td class='linerow'> </td>

<td bgcolor='#F9FBF0' class='linerow'> </td>

</tr>";

echo "$line";

}

array_multisort($filetimearr,SORT_DESC,SORT_STRING, $filearr);

array_multisort($filetimearr,SORT_DESC,SORT_STRING, $filetimearr);

$result = array_combine($filearr,$filetimearr);

foreach($result as $file => $filetime)

{

$filesize = filesize("$inpath/$file");

$filesize = $filesize / 1024;

if($filesize != "")

if($filesize < 0.1){

@list($ty1, $ty2) = split(".", $filesize);

$filesize = $ty1.".".substr($ty2, 0, 2);

}

else{

@list($ty1, $ty2) = split(".", $filesize);

$filesize = $ty1.".".substr($ty2, 0, 1);

}

if(preg_match("#.(gif|png)#i", $file))

{

$reurl = "$activeurl/$file";

如何解决dedecms织梦系统中的文件夹和图片文件排序问题?

$reurl = preg_replace("#^..#", "", $reurl);

if($cfg_remote_site=='Y' && $remoteuploads == 1)

{

$reurl = $remoteupUrl.$reurl;

}else{

$reurl = $reurl;

}

if($file==$comeback) $lstyle = " style='color:red' ";

else $lstyle = "";

$line = "

<td align='center' class='linerow' bgcolor='#F9FBF0'>

<a href='#' onCli

```

FAQs常见问题解答

1、Q1: 为什么需要对文件夹和图片文件进行排序?

A1: 对文件夹和图片文件进行排序可以方便用户快速找到所需的文件,尤其是在上传了大量文件的情况下,如果不进行排序,用户很难区分哪个文件是最近上传的,从而影响工作效率。

2、Q2: 修改代码后,是否会影响系统其他功能?

A2: 不会影响系统其他功能,上述修改仅针对include/dialog/select_images.php文件中的图片选择和排序部分,不涉及系统的其他核心功能,只要按照步骤正确操作,就不会对系统造成负面影响。

通过以上步骤和解决方案,用户可以有效地解决Dedecms站内选择文件夹和图片文件排序问题,提升工作效率和使用体验。


Dedecms织梦站内选择文件夹和图片文件排序问题解答

问题

在使用Dedecms织梦内容管理系统时,用户可能会遇到选择文件夹和图片文件排序的问题,以下将详细解答这一问题。

文件夹排序问题

1、问题描述

用户在站内管理文件夹时,发现文件夹的排序不按名称或日期等规则排列。

2、解决方法

修改数据库:进入Dedecms后台,访问数据库管理,找到存储文件夹信息的表(通常为#@__arctype),然后修改其中的排序字段(如sortrank)。

使用插件:市场上有一些Dedecms插件可以自动排序文件夹,用户可以尝试安装并使用这些插件。

手动排序:如果数据量不大,可以手动在数据库中调整排序字段,或者直接在后台管理界面中拖拽文件夹进行排序。

图片文件排序问题

1、问题描述

在上传图片文件后,发现图片文件在图片库中的排序不符合预期。

2、解决方法

修改数据库:与文件夹排序类似,找到存储图片信息的表(如#@__arcmember),调整排序字段。

使用插件:市面上有专门的图片管理插件,可以方便地对图片进行排序。

图片库排序:在Dedecms后台的图片库中,通常有排序功能,用户可以按照名称、大小、日期等进行排序。

预防措施

1、定期备份:在修改数据库前,请确保备份数据库,以防操作失误导致数据丢失。

2、合理命名:上传文件时,使用有意义的文件名,有助于后续管理和排序。

3、使用插件:合理使用第三方插件,可以简化操作流程,减少手动调整数据库的频率。

Dedecms织梦站内文件夹和图片文件排序问题可以通过多种方法解决,包括修改数据库、使用插件和手动排序,用户应根据实际情况选择合适的方法,并注意数据安全和备份。

    广告一刻

    为您即时展示最新活动产品广告消息,让您随时掌握产品活动新动态!