<?php

$imgdir 
'/home/kicken/data/pics/photos'// the directory, where your images are stored
$allowed_types = array('.png','.jpg','.jpeg','.gif'); // list of filetypes you want to show

$images = array();
chdir($imgdir);
$dimg opendir('.');

while(
false !== ($imgfile readdir($dimg)))
{
    
$ext strtolower(strrchr($imgfile'.'));
    if(
in_array($ext$allowed_types)){
        
$images[] = $imgfile;
    } 
}

$timeStart microtime(1);
usort($images'sort_by_date_and_size');
$timeEnd microtime(1);

function 
sort_by_date_and_size($a$b){
   
$timeA filemtime($a);
   
$timeB filemtime($b);
   if (
date('M-d-Y'$timeA) == date('M-d-Y'$timeB)){
       
//Compare layout sizes.
       
$hA date('H'$timeA);
       
$hB date('H'$timeB);
       if (
$hA <12 && $hB 12 || $hA >= 12 && $hB >= 12){
           return 
0;
       }
       else if (
$hA 12){
           return -
1;
       }
       else {
           return 
1;
       }
   }
   else {
       return 
$timeB-$timeA;
   }
}

?>
<html>
 <head>
  <title>Images</title>
  <style type="text/css">
.dateHeader {
  font-size: larger;
  font-weight: bold;
  list-style-type: none;
}
.dateHeader ul {
    font-size: smaller;
}

.fileName {
    font-size: smaller;
    font-weight: normal;
}
  </style>
 </head>
 <body>
 <p>Sort Time: <?php echo $timeEnd-$timeStart?> seconds</p>
 <ul>
    <?php
    $lastDateHeader
=null;
    
$showPMHeader false;
    foreach (
$images as $imgfile){
        
$time filemtime($imgfile);
        
$dateHeader date('M-d-Y'$time);
        
$ampmHeader date('A'$time);
        if (
$dateHeader != $lastDateHeader){
            if (
$lastDateHeader != null){
                echo 
'</ul></li></ul></li>';
            }
            echo 
'<li class="dateHeader">'.$dateHeader.'<ul>';
            echo 
'<li class="ampm">AM<ul>';
            
$showPMHeader true;
            
$lastDateHeader $dateHeader;
        }
        if (
$ampmHeader == 'PM' && $showPMHeader){
            echo 
'</ul></li><li class="ampm">PM<ul>';
            
$showPMHeader false;
        }
        echo 
'<li class="fileName">'.$imgfile.'</li>';
    }
    
?>
 </ul>
 </body>
</html>