尝试在一个 .txt 文件中回显所有文本行。

30 浏览
0 Comments

尝试在一个 .txt 文件中回显所有文本行。

以下是我的php代码:\n

' . $theData . '');
}
fclose($fh);
?>

\n这是我的hidata.txt中的内容:\ndata1\ndata2\ndata3\n\n我希望我的代码能够按行输出所有文本,就像这样:\n

  • data1
  • \n

  • data2
  • \n

  • data3
  • \n\n但它只输出了 `

  • data1
  • `。请问如何能够输出所有行,并且每当我在`.txt`文件中添加新的行时,它会自动出现在页面上?

    0
    0 Comments

    问题的原因是在于获取来自文本文件的数据。在给出的代码示例中,$theData变量是直接赋值的,而不是从文本文件中获取的。因此,需要找到一种方法从文本文件中获取数据并将其赋值给$theData变量。

    解决方法之一是使用文件操作函数来读取文本文件中的数据。可以使用file_get_contents()函数来读取整个文本文件的内容,并将其赋值给$theData变量。以下是具体的解决方法代码:

    $theData = file_get_contents('file.txt');
    $array = explode(PHP_EOL, $theData);
    foreach ($array as $key => $value) {
        echo ('<li>' . $value . '</li>');
    }

    上述代码首先使用file_get_contents()函数从名为file.txt的文本文件中读取数据,并将其赋值给$theData变量。然后,使用explode()函数将$theData变量中的内容按行分割成数组。最后,使用foreach循环遍历数组,并使用echo语句将每行数据以

  • 标签包裹输出。

    另外一个解决方法是使用str_replace()函数和trim()函数来处理文本文件中的换行符。以下是具体的解决方法代码:

    $theData = file_get_contents('file.txt');
    $html = '<ul><li>' . str_replace(array("\r","\n\n","\n"), array('',"\n","</li>\n<li>"), trim($theData, "\n\r")) . '</li></ul>';
    echo $html;

    上述代码首先使用file_get_contents()函数从名为file.txt的文本文件中读取数据,并将其赋值给$theData变量。然后,使用str_replace()函数替换文本中的换行符,将其转换成HTML的<ul>和<li>标签格式。最后,使用echo语句将处理后的HTML代码输出。

    通过以上两种方法,可以成功获取文本文件中的数据并将其按行输出。

  • 0
    0 Comments

    问题的原因是在使用fgets函数时,没有正确地将文件句柄传递给该函数。解决方法是使用fopen函数打开文件,并将返回的文件句柄传递给fgets函数。

    具体的解决方法如下:

    ' . $theData . '');
    }
    fclose($fh);
    ?>
    

    在上述代码中,首先通过fopen函数打开名为"hidata.txt"的文件,并将返回的文件句柄赋值给变量$fh。然后使用while循环,通过fgets函数逐行读取文件内容,并将每行内容用HTML的li标签包裹后输出。最后使用fclose函数关闭文件句柄。

    需要注意的是,在使用fgets函数时,需要将返回的内容与false进行严格比较,以确保循环在读取完所有行后正确结束。

    这种方法可以确保将文本文件中的所有行都输出到屏幕上。

    0