PHP의 filemtime
함수
filemtime
함수는 지정한 파일의 마지막 수정 시간(timestamp)을 반환합니다. 파일의 수정 시간은 파일 내용이 변경되었을 때 갱신되며, 이 함수를 사용하여 파일의 마지막 수정 시간을 확인할 수 있습니다.
filemtime
함수의 사용 예시:
$filename = 'example.txt';
if (file_exists($filename)) {
$modificationTime = filemtime($filename);
echo "Last modification time: " . date('Y-m-d H:i:s', $modificationTime);
} else {
echo "File does not exist!";
}
다른 함수와 함께 사용하는 예시:
fileatime
함수와 함께 사용하기 (파일의 마지막 접근 시간 확인):
$filename = 'example.txt';
if (file_exists($filename)) {
$modificationTime = filemtime($filename);
$accessTime = fileatime($filename);
echo "Last modification time: " . date('Y-m-d H:i:s', $modificationTime) . PHP_EOL;
echo "Last access time: " . date('Y-m-d H:i:s', $accessTime);
} else {
echo "File does not exist!";
}
touch
함수와 함께 사용하기 (파일의 수정 시간 갱신):
$filename = 'example.txt';
if (file_exists($filename)) {
touch($filename); // 현재 시간으로 수정 시간 갱신
$modificationTime = filemtime($filename);
echo "Modification time updated. New modification time: " . date('Y-m-d H:i:s', $modificationTime);
} else {
echo "File does not exist!";
}
조건문과 반복문과 함께 사용하는 예시:
$filenames = ['file1.txt', 'file2.txt', 'file3.txt'];
foreach ($filenames as $filename) {
if (file_exists($filename)) {
$modificationTime = filemtime($filename);
echo "Last modification time of $filename: " . date('Y-m-d H:i:s', $modificationTime) . PHP_EOL;
} else {
echo "$filename does not exist!" . PHP_EOL;
}
}
성능 향상을 위한 팁:
-
filemtime
함수는 파일의 수정 시간을 반환하는 함수이므로, 반복문에서 동일한 파일에 대해 여러 번 호출할 필요가 없습니다. 가능하면 한 번 호출한 뒤 결과를 변수에 저장하여 활용하는 것이 성능에 도움이 됩니다. -
파일의 수정 시간을 확인하는 용도로만
filemtime
함수를 사용하고, 파일을 실제로 열거나 읽을 필요가 없는 경우에는 불필요한 파일 핸들링을 피하는 것이 성능 향상에 도움이 됩니다.