今天晚上接了个bug修复的单,就是有个人在上传图集的时候,使用zip压缩包方式,图片排序有些不根据顺序排,然后网上百度了下,发现都是一大串一样的代码,代码如下:
$tmpimgs = array();
foreach($imgs as $k=>$v){
preg_match_all("/\/(\d+)\./",$v,$kk);
$tmpimgs[$kk[1][0]-1] = $v;
}
ksort($tmpimgs);
$imgs = $tmpimgs;
unset($tmpimgs);然后并没什么卵用,就一坑爹货,还这么多人转发,我也是醉了,其实要实现这个功能很简单
打开你的织梦后台目录,找到 album_add.php 和 album_edit.php 的 $fm->GetMatchFiles($tmpzipdir,"jpg|png|gif",$imgs); 在这句代码下面加入一句代码就好了:
natsort($imgs);
PHP有一个非常独特的排序方式,这种方式使用认知而不是使用计算规则。这种特性称为自然语言排序,当创建模糊逻辑应用软件的时候这种排序方式非常有用。下面大家可以来看看它的一个简单例子,如Listing G所示:
Listing G它的输出结果如下:
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
)
看到区别了吧,这个函数还是挺好用的,希望可以帮助到织梦遇到图集上传问题的朋友.