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

时间:2017-12-09 21:07:51

标签: 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;

    }
    }

}

?>

2 个答案:

答案 0 :(得分:2)

您只能找到昨天更新的文件。如果您想要过去24小时,可以从当前时间减去filemtime(..)。您将在几秒钟内找到差异:

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

答案 1 :(得分:2)

如果您希望在过去24小时内编辑文件而不是>=而不是==,请比较时间戳而不是日期,例如:

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