我有以下代码:
public static function getLogFiles()
{
$dir = '../tmp/logs';
$files = scandir($dir);
foreach ($files as $filename){
echo "$filename wurde zuletzt modifiziert:: " . date ("F d Y H:i:s.", filemtime($filename)) . "<br>";
}
die();
}
对于我使用的调试
print_r($files);
获取包含所有文件的数组。 但我只得到前两个修改日期:
. wurde zuletzt modifiziert:: January 14 2013 09:06:05.
.. wurde zuletzt modifiziert:: December 14 2012 10:46:34.
Warning (2): filemtime(): stat failed for Fleetster.log [APP\Lib\Log4All.php, line 134]
system.log wurde zuletzt modifiziert:: January 01 1970 01:00:00.
Warning (2): filemtime() [function.filemtime]: stat failed for debug.log [APP\Lib\Log4All.php, line 134]
debug.log wurde zuletzt modifiziert:: January 01 1970 01:00:00.
Warning (2): filemtime() [function.filemtime]: stat failed for error.log [APP\Lib\Log4All.php, line 134]
error.log wurde zuletzt modifiziert:: January 01 1970 01:00:00.
有什么问题?
谢谢你,以及最好的问候
答案 0 :(得分:0)
如果你的文件对于stat()
来说太大了(它使用了那个函数),你就会得到这个。手册页上的评论说:
如果PHP的整数类型在您的系统上只有32位,则filemtime()将在超过2GB的文件上失败并显示“stat failed”警告。所有与stat()相关的命令都会表现出相同的行为。
根据您的具体情况,stat()
可能有不同的原因。