最近发现织梦DedeCMS在上传图集的时候,如果是使用zip压缩包上传的方式,那么上传的图片排序就非常混乱,并没有按文件名进行排序,如下图:

织梦CMS图集使用zip文件上传的图片不按图片名称排序

那么我们要怎么样让它按照文件名进行排序呢?其实很简单,下面就教大家如何修改:

首先找到并打开后台管理目录下的album_add.php和album_edit.php文件,分别在里面找到如下代码:

$fm->GetMatchFiles($tmpzipdir,"jpg|png|gif",$imgs);

在这句代码的下面加入下面这句代码:

natsort($imgs);

添加完成后就可以了。

我们知道PHP有一个比较独特的排序方式natsort(),这种方式使用认知而不是使用计算规则。我们一般将这种特性称为自然语言排序,当创建模糊逻辑应用软件的时候这种排序方式就会非常有用。

下面大家可以来看看它的一个简单例子,将下面的代码写进PHP文件中运行一下:

<?php$data = array("book-1", "book-10", "book-100", "book-5");sort($data);print_r($data);natsort($data);print_r($data);?>

我们会发现运行后输出的结果如下:

Array ([0] => book-1
[1] => book-10
[2] => book-100
[3] => book-5
)
Array
(
[0] => book-1
[3] => book-5
[1] => book-10
[2] => book-100
)

上面的代码为我们演示了sort()排序和natsort()排序的区别,用natsort()排序就可以完美的解决织梦图集用zip文件上传导致图片排序混乱的问题了,大家赶快试试吧!

发表评论

电子邮件地址不会被公开。 必填项已用*标注