[solver}按日期排序图库

时间:2013-05-14 11:02:09

标签: php arrays date sorting gallery

我有一个问题,我创建了一个完美的画廊,但是对图像进行排序的功能取决于它们DAY只会忽略嘴巴和分钟...... 用于排序的表单是::::: | d / m / Y H:i:s |,但是当我搬到另一个嘴里时,我失去了订单,因为它只取决于我所说的那天我想要考虑到嘴巴。

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

function 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") ;}

1 个答案:

答案 0 :(得分:0)

我认为您应该将日期转换为时间戳以进行排序。这么简单,使用filemtime(string $ filename)没有日期(“d / m / Y H:i:s”......东西

function sortFunctionASC ( $a , $b ) { return $a["stamp"] < $b["stamp"]); }
function sortFunctionDESC( $b , $a ) { return $a["stamp"] < $b["stamp"]); }