[PHP] 주어진 경로에 포함된 파일 최종 수정일시 구하기

이전 포스트의 하위 폴더 구하는  함수를 이용해 주어진 경로에 포함된 파일 최종 수정일시를 구하는 기능이다.

<?php
function getDirectories(string $path)
{
    $path = realpath($path);

    if (!is_dir($path))
        return false;

    $directories = array();

    foreach (scandir($path) as $val) {
        if (in_array($val, array('.', '..')))
            continue;

        $dir = $path.DIRECTORY_SEPARATOR.$val;

        if (is_dir($dir)) {
            $directories[] = $dir;
            $directories = array_merge($directories, getDirectories($dir));
        }
    }

    return $directories;
}

function getLastModified(string $path)
{
    $mtimes = array();

    $directories = getDirectories($path);

    foreach ($directories as $dir) {
        $files = scandir($dir);

        foreach ($files as $val) {
            if (in_array($val, array('.', '..')))
                continue;

            $file = $dir.DIRECTORY_SEPARATOR.$val;

            if (is_file($file)) {
                $filemtime = filemtime($file);

                if ($filemtime)
                    $mtimes[] = $filemtime;
            }
        }
    }

    return max($mtimes);
}

$lastModified = getLastModified('./locale');

echo date('Y-m-d H:i:s', $lastModified);

출력 결과는 아래와 같다.

2018-04-28 18:37:35

편리

PHP와 MariaDB, jQuery 등을 사용해 게시판, 쇼핑몰 솔루션을 개발합니다. 그누보드5와 영카트5 개발에 참여 했습니다. Linux와 Nginx는 물론 WordPress, Git 등에도 관심이 많습니다. 자전거 타기 및 사진 촬영을 취미로 하고 있습니다.

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.