1

注: 他の言い方が思いつかないのでタイトルがわかりにくかったらすみません。

ブログのようなウェブサイト用の PHP 投稿システムを作成しています。他のテキスト ファイルを指す情報を含む posts.txt というファイルがあります。これらの他のテキスト ファイルには、物理​​的な投稿コンテンツが含まれています。これが最善の方法ではないことはわかっていますが、今のところこれが私がやっていることです。

posts.txt のサンプル:

    posts/topDownShooter.txt
    posts/leapMotionSandbox.txt
    end

最初の 2 行は、投稿コンテンツを含む他のテキスト ファイルを指しています。最後の行「end」は、すべてのポスト「ポインター」が完了したことをプログラムに知らせます

topDownShooter.txt のような投稿のサンプルを次に示します。

    programming
    Top Down Shooter
    The actual post content goes here
    end

1 行目は組織のタグです。2 行目は投稿のタイトルです。そして3つ目は実際のコンテンツです。最後の行は同じ目的を果たします。

これが私の 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 に答える