PHP-如何将文件修改日期与当前日期进行比较

PHP-如何将文件修改日期与当前日期进行比较,php,Php,我想将文件修改日期与当前日期进行比较 我尝试了以下方法(目前有效): 现在我尝试从我的文件中获取文件修改年份: $subst1 = file("f1/subst_001.htm"); $mod_date=date("y", filemtime($subst1)); echo $mod_date; 但是它给了我70年,也就是1970年,我做错了什么 没有,我已经检查了文件是否显示本创建年…函数期望字符串作为文件路径。这里您试图传递从返回的数组 这样试试看 $filename= "f1/subst

我想将文件修改日期与当前日期进行比较

我尝试了以下方法(目前有效):

现在我尝试从我的文件中获取文件修改年份:

$subst1 = file("f1/subst_001.htm");
$mod_date=date("y", filemtime($subst1));
echo $mod_date;
但是它给了我70年,也就是1970年,我做错了什么

没有,我已经检查了文件是否显示本创建年…

函数期望
字符串作为文件路径。这里您试图传递从返回的
数组

这样试试看

$filename= "f1/subst_001.htm";
if (file_exists($filename)) {
   $mod_date = date("y", filemtime($filename));
   echo $mod_date;
}
1970年1月1日是所谓的Unix时代。这是他们去的日期 开始计算时间。如果你得到这个日期作为回报 值,它通常意味着将日期转换为Unix 时间戳返回一个(接近)零的结果。那么日期转换呢 没有成功。很可能是因为它接收到错误的输入


礼貌:Oldskool

使用正确的日期格式参数

“y”返回年份的两位数表示形式:

date ("y", filemtime($filename)) // 18
date ("Y", filemtime($filename)) // 2018
“Y”返回年份的四位数表示形式:

date ("y", filemtime($filename)) // 18
date ("Y", filemtime($filename)) // 2018
试试这个:

$mod_date=date("y", filemtime("f1/subst_001.htm"));
echo $mod_date;

filemtime()。希望对您有所帮助。

尝试对filemtime结果使用var\u dump-它可能是错误的(或转换为int 0的内容)。因为时间0是1970年1月1日,这就解释了为什么年份是“70”


如果是这种情况,它就找不到您的文件。

您只需使用
time()
filemtime('path/to/file')通过unix时间戳对它们进行比较即可。
谢谢!它现在可以工作了,有那么多关于阅读当前时间的帖子,但是几乎没有帖子说你可以从php文件中读取修改时间,非常感谢!