PHP包括$最新的问题

时间:2013-08-20 14:27:13

标签: php blogs

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

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

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

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

2 个答案:

答案 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" "

结合exec()或类似(完整版本见here

答案 1 :(得分:0)

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

当您包含文件时,就像获取该文件内容并添加到该位置的脚本一样。您需要在包含的文件中包含逻辑以确定要显示的内容。 include语句将无法满足您的需求。