다음은 디렉토리에있는 파일의 배열을 가져 오는 데 사용하는 코드입니다.디렉토리의 파일을 PHP로 작성 날짜순으로 정렬
$dir = "thumbnails/";
$images = scandir($dir);
어떻게하면 $ images 배열을 생성 날짜별로 정렬 할 수 있습니까? 몇 가지 방법을 찾았지만, 그들 중 누구도 내 배열로 작업 할 수 없었습니다.
감사합니다, Windows에서
다음은 디렉토리에있는 파일의 배열을 가져 오는 데 사용하는 코드입니다.디렉토리의 파일을 PHP로 작성 날짜순으로 정렬
$dir = "thumbnails/";
$images = scandir($dir);
어떻게하면 $ images 배열을 생성 날짜별로 정렬 할 수 있습니까? 몇 가지 방법을 찾았지만, 그들 중 누구도 내 배열로 작업 할 수 없었습니다.
감사합니다, Windows에서
당신은 filectime()
와 파일의 생성 시간을 얻을 수 있습니다. 파일 이름을 가진 배열에 넣고 배열을 정렬하십시오.
대부분의 * nix 파일 시스템에는 생성 시간이 저장되지 않습니다.
리눅스를 실행하는 ftp 서버. – user541597
파일 수정/생성 기준으로 정렬하는 방법에 대한 스크립트가 포함 된 다음 튜토리얼을 시도해보십시오.
당신은
$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');
유닉스 시스템에서는 filectime 대신 filemtime을 사용해야합니다. – svallory
이 배열의 각 항목에 어떻게 액세스합니까? – user541597
이것은 단순히 파일 이름의 int 인덱스 배열입니다. Array ([0] => '.', [1] => '..', [2] => 'afile.jpg'); [php.net/scandir](http://php.net/scandir) – svallory
왜 당신이 뭘하려 게시하지 않습니다 수동으로 정렬 할 수 있나요? – qitch
array_multisort (array_map ('filemtime', $ images), SORT_DESC, $ images); – user541597