织梦CMS图集zip压缩包上传,图片排序有问题

今天晚上接了个bug修复的单,就是有个人在上传图集的时候,使用zip压缩包方式,图片排序有些不根据顺序排,然后网上百度了下,发现都是一大串一样的代码,代码如下: $tmpimgs = array(); foreach($imgs as $k=$v){ preg_match_all(/\/(\d+)\./,$v,$kk); $tmpimgs[

   今天晚上接了个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);

然后并没什么卵用,就一坑爹货,还这么多人转发,我也是醉了,其实要实现这个功能很简单

1-150F515403a14.jpg

打开你的织梦后台目录,找到 album_add.php  和 album_edit.php 的 $fm->GetMatchFiles($tmpzipdir,"jpg|png|gif",$imgs); 在这句代码下面加入一句代码就好了:

 natsort($imgs);


PHP有一个非常独特的排序方式,这种方式使用认知而不是使用计算规则。这种特性称为自然语言排序,当创建模糊逻辑应用软件的时候这种排序方式非常有用。下面大家可以来看看它的一个简单例子,如Listing G所示:

Listing G

<?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

)

看到区别了吧,这个函数还是挺好用的,希望可以帮助到织梦遇到图集上传问题的朋友.

本站部分内容来源互联网,如果有图片或者内容侵犯了您的权益,请联系我们,我们会在确认后第一时间进行删除!

相关文档推荐

使用过DedeCMS的站长应当都遇到过这样的问题,在我们删掉一些文章内容后,tags标识中就慢慢拥有许多失效的标识存有,这种TAGS标识并不会跟随大家删掉文章内容一起删掉,如果是受欢迎的词还行,有很多文章内容都是有,如果是小众词,便会发生在TAGS目录有词,
织梦dedecms的搜索页面,不能使用{dede:php}标签,这样让搜索页少了很多的灵活性,今天织梦模板网给出如下解决办法,让织梦的搜索页面也能支持php标签 1、找到include/arc.searchview.class.php,将如下函数加入到SearchView类里面 /** * 解析模板,对固定的
跟版网小编教你实现了在原来dede文章批量管理的地方 添加一个 取消审核 : 实现方法: 修改管理目录(默认为dede)下的文件:archives_do.php 插入以下代码(位置随意 可以放审核文档下面 方便记忆): /*--------------------------//取消审核文档function
现在好多CMS系统都有TAGS标签这项功能,知名的DEDECMS也有,但是它的标签功能很差,不利于seo优化,同时也有很多问题,比如:当前页不存在上一页时,链接为-1的问题,还有出现系统无此标签,可能已经移除的问题。 今天跟版网小编就教大家把标签伪静态(部分
作者在搭建一个DEDECMS资讯站的时候遇到了一个问题,在图集上传图片时总是弹出FILEID:X(X为数字)的错误,然后上面的所谓图就变成了红色。 查看附件发现其实刚才的图片已经上传成功了。想着从网上搜一下现成的的解决方法,果然很多网站都有这个解决方法,心
dedecms织梦图集上传图片默认是要手动填写注释的,有时我们做好了产品图和图片名称,为了方便想让上传图片后自动获取图片名做注释,那下面的教程就非常有用了。 1、打开 \dede\swfupload.php 找到(注意,dede为默认后台的目录,请自行登录自己所在后台目录