我正在尝试创建一个非常简单的php博客,包括在目录中包含文件,并且只包含index.php中的最新文件。
我想只显示最新文件的某个部分,可以这样做吗?
index.php上使用的当前代码如下。
<?php
$files = glob('blog/*.php');
sort($files);
$newest = array_pop($files);
include $newest;
?>
答案 0 :(得分: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调用和命令来实现:
find . -type f -printf '%T@ %p\n' | sort -n | tail -1 | cut -f2- -d" "
答案 1 :(得分:0)
http://php.net/manual/en/function.include.php
当您包含文件时,就像获取该文件内容并添加到该位置的脚本一样。您需要在包含的文件中包含逻辑以确定要显示的内容。 include
语句将无法满足您的需求。