-1

サーバーからファイルを読み込もうとしています。これはかなりうまく機能しますが、問題が発生しました:

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Fusce dignissim, magna sed egestas suscipit, tortor nunc lacinia felis, eget tempus nunc neque non augue. Suspendisse ut turpis nulla. Suspendisse eu nisi quis tortor porttitor elementum. Mauris id massa turpis。Nullam scelerisque euismod sollicitudin.

Nam imperdiet lorem nec mi posuere laoreet. Pellentesque sed metus eget quam pulvinar imperdiet ut et diam. Maecenas molestie magna vitae metus pretium posuere. Aliquam erat volutpat. In ut libero nulla, sit amet consequat lacus. Quisque ac lectus a libero venenatis placerat sed ac metus. Aenean congue nunc non sapien vulputate tempus.

テキストファイルに改行を入れると、2 番目の段落だけが読み取られます。これを修正する最善の方法は何ですか?

これが私のコードです:

$file = "./textfiles_tips/woningmarkt.txt";
if (file_exists($file))
{
    $f = fopen($file, "r");

    while ( $line = fgets($f) )
    {
        $data['text'] = $line;
    }
}
else
{
    echo "The file $filename does not exist";
}

$this->layout->buildPage('main/tips/woningmarkt', $data);
4

1 に答える 1

2

すべての行を上書きします$data['text'].=上書きする代わりに追加するために使用します。
ループの前に使用$data['text'] = '';して、空の文字列に初期化します。

$data['text'] = '';
while ($line = fgets($f)) {
    $data['text'] .= $line;
}

ただし、 を使用するとさらに簡単に行うことができますfile_get_contentsfopenループまでのコード全体を次のように置き換えます。

$data['text'] = file_get_contents($file);
于 2012-06-14T07:08:34.190 に答える