我想删除超过9天的所有文件。由于filectime返回
的创建时间某个文件,因此,我只想知道如何减去一个例子:
9天filectime()。
代码:
<?php
$filename = 'JSONFormate.json';
if (file_exists($filename)) {
echo "$filename was last changed: " . date("F D Y H:i:s.", filectime
($filename));
echo "\n......".filectime($filename)-777600;
}
?>
结果 JSONFormate.json最后一次更改:May Tue 2012 22:50:10.-777600
答案 0 :(得分:3)
从filectime()
答案 1 :(得分:2)
filectime()返回文件的最后修改时间,而不是创建。
此外,您不想在filectime()
之后休息9天。您想要做的是从现在开始删除9天,看看它是否大于返回的filectime()
int $last_modified = filectime("...");
int $nine_days_ago = time() - 777600;
if($nine_days_ago < $last_modified) {
...
}
答案 2 :(得分:1)
我建议使用像这样的find . -name "*.trc" -mtime +9 -exec rm -rf {} \;
这样的unix命令
您可以使用“`”(反引号)或exec或system
答案 3 :(得分:0)
filectime返回一个unixtimestamp。如果计算9天的unixtimestamp。那么你可以从unctimestap中取消unixtimestamp 9天,你从filectime收到了。然后你得到一个超过9天的unixtimestamp。
然后检查时间戳较低的所有文件,然后检查计算出的时间戳。