-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。在 ut libero nulla,坐在 amet consequat lacus。Quisque ac lectus a libero venenatis placerat sed ac metus。Aenean congue nunc non sapien vulputate tempus。

如果我在文本文件中放置一个换行符,它只会读取第二段。解决此问题的最佳方法是什么?

这是我的代码:

$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_contents. fopen将直到循环的整个代码替换为:

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