2012-04-24 4 views
0
function GetImages($orderByDate, $start, $end) 
{ 

$container = array(); 

if ($handle = opendir('uploads')) 
{ 
    while (false !== ($file = readdir($handle))) 
    { 
     if ($file != "." && $file != "..") 
     { 
      $filename = 'uploads/' . $file; 
      $lastEdit = date("F d Y H:i:s.", filemtime($filename)); 

      $image = array(
       'fileName' => $file, 
       'lastEdit' => $lastEdit 
      ); 

      array_push($container, $image); 
     } 
    } 

    closedir($handle); 
} 

if($orderByDate) 
{ 
    function date_compare($a, $b) 
    { 
     $t1 = strtotime($a['lastEdit']); 
     $t2 = strtotime($b['lastEdit']); 
     return $t1 - $t2; 
    }  
    usort($container, 'date_compare'); 
} 

if(isset($start) && isset($end)) 
{ 
    array_slice($container, $start, $end); 
} 

return $container; 

} 

echo '<pre>'; 
var_dump(GetImages(true, 0, 5)); 
echo '</pre>'; 

Isnt slice가는 방법? 비록 내가 시작과 끝 값을 전달하더라도 배열로부터 모든 레코드를 얻는다. 감사합니다 array_slice 배열을 반환반환 배열 범위

+0

'$ result = array_slice (...);' – summea

답변

0

, 당신이 작성해야 문제

$container = array_slice($container, $start, $end); 

해결해야하는 대신이

array_slice($container, $start, $end); 

+0

좋아요. 어떤 방법으로 대체 할 것을 권장하나요? – Johan

+0

방금 ​​위에서 입력 한 코드를 사용하면 작동합니다. – Phil

+0

정보를 보내 주셔서 감사합니다. – Johan

0

을 전달 배열을 수정 나던

$container = array_slice($container, $start, $end); 

그리고 더 잘 작동합니다.