POST TIME:2017-11-13 00:56
今天晚上接了個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
<?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
)
看到區別了吧,這個函數還是挺好用的,希望可以幫助到織夢遇到圖集上傳問題的朋友.