glob()을 사용하여 마지막 수정 날짜별로 파일 정렬
파일 시스템으로 작업할 때 속성을 기준으로 파일을 구성하는 것이 바람직한 경우가 많습니다. , 수정 시간 등. PHP에서는 glob() 함수를 사용하여 파일 배열을 검색할 수 있지만 기본적으로 파일 순서를 유지하지 않습니다.
도전 과제: 수정 날짜별 정렬
glob()을 사용하여 얻은 파일 배열이 있고 각 파일의 마지막 수정된 날짜/시간 스탬프를 기준으로 이 배열을 정렬한다고 가정합니다. 배열을 반복하고 이를 별도의 배열로 수동으로 정렬하는 것이 가능한 옵션이지만 가장 효율적이거나 편리한 접근 방식은 아닙니다.
해결책: create_function() 사용
PHP 7.2 이전에는 create_function() 함수가 익명 함수를 정의하는 방법을 제공했습니다. usort()와 함께 사용하여 파일의 수정 시간을 비교하고 그에 따라 배열을 정렬할 수 있습니다.
usort($myarray, create_function('$a,$b', 'return filemtime($a) - filemtime($b);'));
이 코드에서 create_function()은 파일의 수정 시간을 빼는 익명 함수를 정의합니다. 두 번째 파일($b)의 첫 번째 파일($a)입니다. 이 뺄셈의 결과는 연대순을 나타냅니다. 그런 다음 usort()는 이 함수를 사용하여 $myarray를 수정 시간을 기준으로 오름차순으로 정렬합니다.
create_function() 지원 중단
안타깝게도 create_function()은 PHP 7.2에서는 더 이상 사용되지 않으며 PHP 8.0에서는 제거되었습니다. 이는 위의 코드가 최신 버전의 PHP에서 더 이상 작동하지 않음을 의미합니다.
대체 솔루션
glob() include를 사용하여 마지막 수정 날짜별로 파일을 정렬하는 대체 솔루션 :
위 내용은 PHP의 glob() 함수로 검색된 파일을 마지막 수정 날짜별로 어떻게 정렬할 수 있나요?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!