-2

我正在使用 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)。

有人知道我在做什么错吗?

4

3 回答 3

2

文档中:

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

在您的情况下,“尾随名称组件”是file1.txt,当您包含它时,您将.txt结果添加到file1.txt.txt,它无法找到。

替换这个

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

include "blog/posts/{$file1}";
于 2013-07-03T10:11:17.753 回答
1

您声称$file1确实包含带有扩展名的文件名,然后使用

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

当不需要并且找不到文件时,您将附加文件扩展名。尝试:

include "blog/posts/{$file1}";
于 2013-07-03T10:11:48.363 回答
0

将其更改为

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

这个

foreach (glob("blog/posts/*") as $path1) 
于 2013-07-03T10:07:15.637 回答