不知道为什么,但我无法获得一个 PHP 函数来显示某个文件的提交时间。前任; 大约 1 年前或大约 2 秒前。但是,在我的情况下,即使文件已在几秒钟前提交,它仍停留在“大约 1 天前”。
这是自提交以来应该得到时间的函数
function time_since($since) {
$chunks = array(
array(60 * 60 * 24 * 365 , 'year'),
array(60 * 60 * 24 * 30 , 'month'),
array(60 * 60 * 24 * 7, 'week'),
array(60 * 60 * 24 , 'day'),
array(60 * 60 , 'hour'),
array(60 , 'minute'),
array(1 , 'second')
);
for ($i = 0, $j = count($chunks); $i < $j; $i++) {
$seconds = $chunks[$i][0];
$name = $chunks[$i][1];
if (($count = floor($since / $seconds)) != 0) {
break;
}
}
$print = ($count == 1) ? '1 '.$name : "$count {$name}s";
return $print;
}
这是使用上述函数并将所有信息注入 JSON 的代码
$dh = opendir($dir);
$files = array();
while (($file = readdir($dh)) !== false) {
if ($file != '.' AND $file != '..' ) {
if (filetype($dir . $file) == 'file') {
$files[] = array(
'id' => $domain.$dir.$file."?".Salt($file),
'name' => $file,
'size' => filesize($dir . $file). ' bytes',
'date' => time_since(date("ymd Hi", filemtime($dir . $file))),
'path' => $domain.$dir.$file,
'thumb' => $domain.$dir."thumbnails/".$file
#'thumb' => $dir . 'thumbs/' . $file
);
}
}
}
closedir($dh);
$json = json_encode($files);
$callback = $_GET['callback'];
echo $callback.'('. $json . ')';