PHP - 读取和显示文本文件内容时循环效率低下
在 PHP 中,您的目标是有效地读取和显示整个文本文件。但是,您遇到了一个问题,即 while (!feof()) 循环没有按预期输出所有内容。
问题的出现是由于放置了文件结尾 (EOF) 检查。在您的代码中,EOF 检查是在实际输出内容之前执行的。这可能会导致文件中最后一个字符串仅部分打印的情况。
要纠正此问题,请将 EOF 检查放在读取过程本身中。更正后的代码如下:
while (($buffer = fgets($handle, 4096)) !== false) { $trimmed = trim($buffer); echo $trimmed; }
此外,建议避免在 fopen 之前使用抑制运算符 (@),因为它可以隐藏文件打开过程中可能发生的错误。您更新后的代码没有错误抑制:
$handle = fopen("item_sets.txt", "r");
现在,循环将迭代文件直到到达 EOF,正确输出所有内容。请记住,对于健壮的代码,建议处理在文件打开或读取过程中可能发生的任何错误。
以上是为什么我的 PHP `while (!feof())` 循环不显示整个文本文件,如何修复它?的详细内容。更多信息请关注PHP中文网其他相关文章!