0

問題があります。完全に機能するギャラリーを作成しましたが、画像を並べ替える機能はそれらに依存します DAY 口と分を無視するだけです... 並べ替えに使用される形式は ::::: | d/m/YH:i:s | ですが、別の口に移動すると、口も考慮してほしいと言った通り、その日だけに依存するため、順序が失われます。

$date = date ("d/m/YH: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") ;}
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 に答える