2015-12-07 23 views
-1

是否有方法按日期对图像进行排序,然后将其限制为仅显示最近四次。对数组进行排序并将其限制为四个。

<div class="row no-gutter"> 
     <?php 
     $dirname = "assets/img/portfolio/"; 
     $images = glob($dirname."*.jpg"); 
     $ignore = Array(".", ".."); 

     foreach($images as $curimg){ 
     $name2 =pathinfo($curimg, PATHINFO_FILENAME); 
     if(!in_array($curimg, $ignore)) {}; 

     ?> 


     <div class="col-sm-3 sm-margin-bottom-30"> 
      <a href="<?php echo "$curimg"?>" rel="gallery4" class="fancybox img-hover-v2" title="<?php echo "$name2"?>"> 
       <span><img class="img-responsive" src="<?php echo "$curimg"?>" alt=""></span> 
      </a> 
     </div> 
     <?php }?> 

    </div> 

谢谢

+2

*按日期*你的意思是创建或最后修改.. ? – Rizier123

回答

0

首先,你需要按日期排序的数组,然后坐4最新:

function sortByDate($a, $b) 
{ 
    $aTime = filemtime($a); 
    $bTime = filemtime($b); 

    if ($aTime === $bTime) return 0; 

    return ($aTime < $bTime) ? -1 : 1; 
} 

$images = glob($dirname."*.jpg"); 

//Sort with our function 
usort($images, "sortByDate"); 

$lastFour = array_slice($images, -4); 
+0

@UnexpectedPairofColons你可以,但作为答案,OP可能不那么清楚。我将它全部分开,以便阅读,跟随并查看不同部分。 –

+0

@UnexpectedPairofCons为什么你删除了你的评论? –

+0

谢谢你的作品非常完美! –

相关问题