几天前(不幸的是)我的网站被黑了。为了防止这种情况,我想要包含一个PHP,它会检查过去2天内是否有任何文件被更改/添加。 我的出发点是以下功能:
function topmods($dir)
{
$mods = array();
foreach (glob($dir . '/*') as $f) {
$mods[] = filemtime($f);
}
sort($mods);
$mods = array_reverse($mods);
return $mods;
}
我希望能够改进它,以便只有最近2天内更改的文件才会包含在数组中。有关如何重写foreach函数的任何建议,以便在数组中只包含满足此条件的文件吗?
if (time() - filemtime($testfile) >= 2 * 86400)
由于
答案 0 :(得分:0)
filemtime()
获得unix时间戳后,您可以从2天前创建一个unix时间戳并进行比较,如下所示:
function topmods($dir)
{
// Get actual timestamp and subtract 2 days
$dateToCompare = time()-((60 * 60 * 24)*2);
$mods = [];
foreach (glob($dir . '/*') as $f) {
// This just compares the two timestamp values
if (filemtime($f)<$dateToCompare) {
$mods[] = filemtime($f);
}
}
sort($mods);
$mods = array_reverse($mods);
return $mods;
}