2012-07-30 5 views
0

날짜로 레이블이 지정된 디렉토리에 파일이 있습니다 (예 : 2012-07-05.xls, 2012-07-04.xls). 가장 최근의 파일부터 시작하여 해당 디렉토리의 마지막 10 개 파일을 검색 (및 링크)합니다. 적절한 순서로 목록을 쉽게 생성 할 수는 있지만 목록을 "."및 ".."항목으로 반환하지 않는 방법을 알아낼 수는 없습니다.알파벳순으로 역순으로 디렉토리에서 고정 된 수의 항목을 반환하십시오.

다음은 현재 가지고있는 내용입니다. 모든 제안에 개방.

<?php 
$path = $_SERVER[DOCUMENT_ROOT]."/path/"; 
$dh = @opendir($path); 

$files = array(); 
while (false !== ($file = readdir($dh))) { 
      array_push($files, $file); 
     } 

rsort($files); 
foreach ($files as $file){ 
    echo "<li><a href=\"$file\">"; 
    echo($file)."</a></li>"; 

} 
?> 

답변

0

scandir을 사용하는 경우 두 번째 인수로 정렬 매개 변수를 추가 할 수 있습니다. 그런 다음 배열을 array_slice으로 연결하면 원하는 요소를 얻을 수 있습니다.

$ array = scandir ($ path); $ files = array_slice ($ array, 0, 10);

원하는 파일을 가져 오거나를 사용하여 처음 두 요소를 건너 뜁니다. 그리고 .. array_slice ($ array, 2, 10); 할 수 있습니다.

+0

완벽하게 작동했습니다. 감사합니다. – steverino

관련 문제