用反向循环一个foreach,PHP

时间:2013-07-03 10:05:22

标签: php foreach

我正在使用PHP中的一个最小博客系统,该系统应该通过扫描postX.txt文件的文件夹,然后显示从最新到最旧的每个帖子。 对于一篇博客文章,这很好用:

http://pastebin.com/i3hiLWGd

post1.txt包含以下内容:

<?php
    $post_user="Frash23";
    $post_title="loltitle 2";
    $post_content="<p>lolcontent post 2</p>";
    $post_info="lolinfo post 2";
?>

输出正确的博文。 以下代码不会:

http://pastebin.com/HdtgMBPV

正如您所看到的,它是相同的代码,添加了foreach。回应$ file1输出“post2.txt post1.txt”,为什么这不起作用?所有变量(通过chrome的firebug克隆检查HTML)都不起作用。 (即博客/用户// .png)。

有人知道我做错了吗?

3 个答案:

答案 0 :(得分:2)

来自documentation

  

给定包含文件或目录路径的字符串,此函数将返回尾随名称组件。

“尾随名称组件”,在您的情况下为file1.txt,当您将其包含在内时,您会将.txt添加到file1.txt.txt中,但却找不到它。

替换此

include "blog/posts/{$file1}.txt";

include "blog/posts/{$file1}";

答案 1 :(得分:1)

您声称$file1包含文件名,扩展名为,然后使用

include "blog/posts/{$file1}.txt";

如果不需要文件扩展名,则会附加文件扩展名,但无法找到该文件。尝试:

include "blog/posts/{$file1}";

答案 2 :(得分:0)

将此更改为

foreach (array_reverse(glob("blog/posts/*")) as $path1) 

foreach (glob("blog/posts/*") as $path1)