0

我正在尝试创建一个非常简单的 php 博客,已将文件包含在目录中,并且仅包含 index.php 中的最新文件。

我只想显示最新文件的某个部分,可以这样做吗?

index.php 上使用的当前代码如下。

<?php 
$files = glob('blog/*.php'); 
sort($files);      
$newest = array_pop($files); 
include $newest;
?>
4

2 回答 2

1

如果要按修改时间查找最新文件,则需要访问mtime数据字段,该字段将由stat()函数提供:

$rgFiles = glob('blog/*.php');
usort($rgFiles, function($sFileOne, $sFileTwo)
{
   $rgStatOne = stat($sFileOne);
   $rgStatTwo = stat($sFileTwo);
   return $rgStatOne['mtime']<$rgStatTwo['mtime']?-1:$rgStatOne['mtime']!=$rgStatTwo['mtime'];
});
$sFile = array_pop($rgFiles);

但是,您可以通过 shell-call 和命令来实现,例如:

find . -type f -printf '%T@ %p\n' | sort -n | tail -1 | cut -f2- -d" "

结合exec()或类似的(完整的变体见这里

于 2013-08-20T14:37:15.463 回答
0

http://php.net/manual/en/function.include.php

当您包含一个文件时,就像获取该文件的内容并在该位置添加到您的脚本一样。您需要在包含的文件中有逻辑来确定要显示的内容。沿用的include语句不会做你想做的事。

于 2013-08-20T14:32:33.683 回答