我试图在我的网站上制作一个简单的新闻Feed,它会显示目录中的最新3个帖子。
我有一个充满.php文件的目录,里面各有一些html和一个带有整页链接的简短故事。
在我的主页上我有
<?php
$news = scandir('news_posts', SCANDIR_SORT_DESCENDING);
include($news[0]);
include($news[1]);
include($news[2]);
?>
哪个不起作用。我已经尝试过print_r,var_export,echo,我设法做的最好就是打印变量的名称(所以14.11.14.php,15.11,14.php等)而不是.php文件中的html内容。
这可能非常简单,但对于.php来说是新手,我有点迷失,似乎无法通过搜索引擎找到合适的答案。
答案 0 :(得分:0)
scandir
只返回文件名而不是路径,这似乎是news_posts/
。试试glob
:
$news = glob('news_posts/*.*');
或继续使用scandir
:
include('news_posts/' . $news[0]);
我会使用glob
,因为您只能返回文件,只返回具有特定扩展名的文件。
sort($news, SORT_DESC);
foreach($news as $file) {
include($file);
}
到glob
并按时间排序:
array_multisort(array_map('filemtime', $news = glob('news_posts/*.*')),
SORT_DESC, $news);