2012-04-05 3 views
1

다음은 디렉토리에있는 파일의 배열을 가져 오는 데 사용하는 코드입니다.디렉토리의 파일을 PHP로 작성 날짜순으로 정렬

$dir = "thumbnails/"; 
$images = scandir($dir); 

어떻게하면 $ images 배열을 생성 날짜별로 정렬 할 수 있습니까? 몇 가지 방법을 찾았지만, 그들 중 누구도 내 배열로 작업 할 수 없었습니다.

감사합니다, Windows에서

+2

왜 당신이 뭘하려 게시하지 않습니다 수동으로 정렬 할 수 있나요? – qitch

+0

array_multisort (array_map ('filemtime', $ images), SORT_DESC, $ images); – user541597

답변

1

당신은 filectime()와 파일의 생성 시간을 얻을 수 있습니다. 파일 이름을 가진 배열에 넣고 배열을 정렬하십시오.

대부분의 * nix 파일 시스템에는 생성 시간이 저장되지 않습니다.

+0

리눅스를 실행하는 ftp 서버. – user541597

0

당신은

$dir = "thumbnails/"; 

function compare_time($a, $b) 
{ 
    global $dir; 

    $timeA = filectime("$dir/$a"); 
    $timeB = filectime("$dir/$b"); 

    if($timeA == $timeB) return 0; 

    return ($timeA < $timeB) ? -1 : 1; 
} 

$images = scandir($dir); 
usort($images, 'compare_time'); 
+0

유닉스 시스템에서는 filectime 대신 filemtime을 사용해야합니다. – svallory

+0

이 배열의 각 항목에 어떻게 액세스합니까? – user541597

+0

이것은 단순히 파일 이름의 int 인덱스 배열입니다. Array ([0] => '.', [1] => '..', [2] => 'afile.jpg'); [php.net/scandir](http://php.net/scandir) – svallory

관련 문제