我正在尝试创建一个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
}