fgets不能正确读取空行和空格

时间:2017-11-08 22:59:45

标签: php

我遇到了这段代码的问题:

$file = fopen("/home/user/Storage/something/else.java", "r");

while(!feof($file)) {
  echo fgets($file) . "\n";
}

fclose($file);

它的输出如下:

1
2
3

虽然文件是这样的:

1

  2


 3

(这只是一个例子,当然文件看起来并不完全相同)

所以,我的问题是,为什么不打印这些空格和空白行?

我需要显示完整的文件,所以如果有任何其他方法可以帮助很多

1 个答案:

答案 0 :(得分:1)

如果您要输出到HTML页面,通常会压缩空格。您可以使用<pre>标记显示预先格式化的文字,但不会更改。

$file = fopen("/home/user/Storage/something/else.java", "r");
echo '<pre>';
while(($line = fgets($file)) !== false) {
  echo $line . "\n";
}
echo '</pre>';
fclose($file);