0

我有一个问题,我创建了一个完美运行的画廊,但是对图像进行排序的功能取决于它们 DAY 只是它忽略了嘴和分钟......用于排序的形式是 ::::: | d/m/YH:i:s |,但是当我移动到另一个嘴巴时,我会失去订单,因为它只取决于日期,因为我说过我希望它也考虑到嘴巴。

$date = date ("d/m/YH:i:s",filemtime($dir_mini));

函数 sortFunctionASC ( $a , $b ) { return strcmp($a["date"], $b["date"]); }

在这里,我给出了对画廊进行排序的部分

//Boucle sur le répertoire On extrait aussi le Nom de l'image et de la miniature 
    $images = array();
    while ( false !== ($Fichier = readdir($ouverture))) 
    {       
            $berk = array('.', '..');

            $dir_mini = $dos_mini.$Fichier;
            $dir_img  = $dos_img.$Fichier;
            $img_name = $dir_mini ; 
            $img_name = preg_replace('#jpg|png|jpg|mini|/|\.#i', '',$img_name);
            $date_precise = date ("d/F/Y-H:i",filemtime($dir_mini));
            $date = date ("d/m/Y H:i:s",filemtime($dir_mini));  
            if(!in_array($Fichier, $berk) AND !is_dir($dir_mini) AND !is_dir($dir_img) )

            {
                $image = array();
                $image['date_precise']  = $date_precise;
                $image['date']  = $date;
                $image['img']   = $dir_img;
                $image['thumb'] = $dir_mini;
                $images[] = $image;

            }   
    }   
    closedir($ouverture);   

// Cette deux fonctions trient les images en fonction de date  ASC croissant, DESC décroissant 
function sortFunctionASC ( $a , $b ) { return strcmp($a["date"], $b["date"]); }
function sortFunctionDESC( $b , $a ) { return strcmp($a["date"], $b["date"]); }

if (isset ($_GET['ASC']))  { usort ($images,"sortFunctionASC"); }
if (isset ($_GET['DESC'])) { usort ($images,"sortFunctionDESC"); }
if (!isset($_GET['ASC']) AND !isset($_GET['DESC'])) { usort ($images,"sortFunctionDESC") ;}
4

1 回答 1

0

我认为您应该将日期转换为时间戳进行排序。如此简单的使用 filemtime ( string $filename ) 没有日期 ("d/m/YH:i:s"... 的东西

function sortFunctionASC ( $a , $b ) { return $a["stamp"] < $b["stamp"]); }
function sortFunctionDESC( $b , $a ) { return $a["stamp"] < $b["stamp"]); }
于 2013-05-14T11:09:41.950 回答