使用PHP查找最后一天修改或创建的文件



我正在尝试创建一个CRON作业,该作业将为我提供目录中的文件列表,这些文件已在最后一天创建或修改。对于我的一生,我看不到下面的代码段出了什么问题。它什么都没有产生,我知道我在过去24小时内至少更新了一个文件。

<?php
$dir = opendir(".");

clearstatcache();
while(false != ($file = readdir($dir)))
{
if ( substr($file,-4) == ".php" ) 
{
    //echo $file;
    //echo "<br>";
    $yesdate = date('d.m.Y',strtotime("-1 days"));
    if (date("d.m.Y", filemtime($file))==$yesdate)
    {
        echo $file;
    }
    }
}
?>

如果要在过去24小时内进行编辑的文件,而不是使用>=而不是==并比较时间戳,而不是日期,例如:

$dir = opendir(".");
clearstatcache();
$yesdate = strtotime("-1 days");
while(false != ($file = readdir($dir)))
{
    if ( substr($file,-4) == ".php" ) 
    {
        if (filemtime($file) >= $yesdate)
        {
            echo $file;
        }
    }
}

您只会找到昨天更新的文件。如果您想要最后24小时,则可以从当前时间减去Filemtime(..)。您会发现几秒钟的区别:

$now = time(); //you should put this outside of the loop
if ($now - filemtime($file) < 24 * 60 * 60)
{   
   //do something
}

最新更新