[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