使用filemtime()函数可获取文件最后修改时间戳,再通过date()函数转换为Y-m-d H:i:s格式的可读日期,需确保文件存在且PHP有读取权限,适用于本地文件系统。

在PHP中获取文件的最后修改时间,可以使用内置函数 filemtime()。这个函数返回指定文件的最后修改时间,结果是一个 Unix 时间戳(从1970年1月1日起的秒数),你可以将它转换为可读的日期格式。
使用 filemtime() 获取文件修改时间戳
filemtime() 函数语法如下:
bool filemtime ( string $filename )如果文件存在且可访问,函数返回文件最后修改的 Unix 时间戳;失败时返回 false。常见用法如下:
$timestamp = filemtime('example.txt');if ($timestamp !== false) {
echo "最后修改时间戳: " . $timestamp;
} else {
echo "无法获取文件修改时间";
}
将时间戳转换为可读日期
Unix 时间戳对用户不友好,通常需要转换为可读的日期格式。可以使用 PHP 的 date() 函数进行转换:
立即学习“PHP免费学习笔记(深入)”;
echo "最后修改时间:" . $date;
输出示例:
最后修改时间:2025-04-05 14:23:10常用格式符说明:
- Y:四位数年份(如 2025)
- m:两位数月份(01-12)
- d:两位数日期(01-31)
- H:24小时制小时(00-23)
- i:分钟(00-59)
- s:秒(00-59)
完整示例代码
以下是一个完整的例子,展示如何获取并格式化文件最后修改时间:
$filename = 'data.json';if (file_exists($filename)) {
$timestamp = filemtime($filename);
if ($timestamp) {
$formatted_date = date("Y年m月d日 H:i:s", $timestamp);
echo "文件《{$filename}》最后修改时间:{$formatted_date}";
} else {
echo "无法读取文件修改时间";
}
} else {
echo "文件不存在";
}
注意事项
使用 filemtime() 时需注意以下几点:
- 确保文件路径正确,相对或绝对路径均可,但必须可访问
- PHP 进程需要有读取该文件所在目录的权限
- 对于远程文件(如 http://),filemtime 不支持;仅适用于本地文件系统
- 可结合 file_exists() 或 is_file() 先判断文件是否存在,避免警告











