1

注意:对不起,如果标题有点不清楚,我想不出另一种说法。

我正在为网站之类的博客制作 PHP 发布系统。我有一个名为 posts.txt 的文件,其中包含指向其他文本文件的信息。这些其他文本文件中包含物理帖子内容。我知道这不是最好的方法,但现在这就是我正在做的。

post.txt 的示例:

    posts/topDownShooter.txt
    posts/leapMotionSandbox.txt
    end

前两行指向包含帖子内容的其他文本文件。最后一行“end”让程序知道所有帖子“指针”都已完成

这是一个类似 topDownShooter.txt 的帖子示例

    programming
    Top Down Shooter
    The actual post content goes here
    end

第一行是组织标签。第二行是帖子的标题。第三是实际内容。最后一行具有相同的目的。

这是我的 PHP 代码:我使用“<--”作为注释

    <?php
    $posts = "posts/posts.txt"; <--Pointer to the location of the posts.txt
    $postsLines = file($posts);
    $fetchingPost = TRUE; <--For while loop
    $postNumber = 0;
    $postPointer; <--In the example of posts.txt this would be the second or third line
    $postTag;
    $postTitle;
    $postContent;
    $endCondition = "end";

    while ($fetchingPost == TRUE) {

        $endOfFile = strcmp($postsLines[$postNumber], $endCondition);
        if ($endOfFile == 0) {
            $fetchingPost = FALSE;
        }

        if ($endOfFile <> 0) {
            $postPointer[$postNumber] = $postsLines[$postNumber];
            $postTag[$postNumber] = file($postPointer[$postNumber]); <--The problem, see below
            $postNumber = $postNumber + 1;
        }
    }
    ?>

问题:它不允许我使用从 posts.txt 中取出的一行作为访问 topDownShooter.txt 或类似内容的“指针”。我认为我从 posts.txt 中提取的值是一个字符串,但事实并非如此。无论如何,我可以将其转换为字符串或使其工作吗?

编辑:

简而言之:

无论如何要从 $postsLines = file("somerandomtxtfile.txt); 中获取一些东西并使 %postsLines[0] 成为一个字符串?

4

1 回答 1

0

我不确定我是否理解你的问题,但我会尝试用这个替换该行

$postTag[$postNumber] = file_get_contents($postPointer[$postNumber]);

在您的编辑中回答问题,您可以这样做:

$postLines = explode(PHP_EOL, file_get_contents("somerandomtxtfile.txt"));
于 2013-05-19T23:08:43.223 回答