Php 如何将文件正确读取到EOF

Php 如何将文件正确读取到EOF,php,eof,Php,Eof,我有一个函数,可以读取文本文件中的注释。注释可以持续到行尾,若并没有行尾,它会持续到文件的末尾。我的问题是我无法找到如何测试它是否达到了文件的结尾。起初我有这样一个想法: while($char != "\n" && $char != false){ $char = fgetc($inputFile); } 如果注释中有0,则结束了我不希望出现的循环。然后我试了一下: while($char != "\n" && !feof($inputFile)){

我有一个函数,可以读取文本文件中的注释。注释可以持续到行尾,若并没有行尾,它会持续到文件的末尾。我的问题是我无法找到如何测试它是否达到了文件的结尾。起初我有这样一个想法:

while($char != "\n" && $char != false){
    $char = fgetc($inputFile);
}
如果注释中有
0
,则结束了我不希望出现的循环。然后我试了一下:

while($char != "\n" && !feof($inputFile)){ 
    $char = fgetc($inputFile);
}
这打乱了整个计划。我试着用谷歌搜索一些东西,但是
feof
!=false是我找到的全部。

用于检查
false

while($char != "\n" && $char !== FALSE){
    $char = fgetc($inputFile);
}

相反,您可以读取您的文件,直到它到达行的末尾

您可以尝试使用函数检查文件的结尾

//Output a line of the file until the end is reached
while(!feof($file) {
    echo fgets($file) . "<br />";
}
fclose($file);
//输出文件的一行,直到到达末尾
而(!feof($file){
echo fgets($file)。“
”; } fclose($文件);

对于fgets函数,如果您不指定长度,则它将继续从流中读取,直到到达行的末尾。

是的,我也尝试了
!=
,但我的程序在它之后开始循环。我不知道为什么,因为使用
!=
它工作正常,只有在
0
字符时它才会崩溃。我刚刚找到了你t这个错误在脚本的其他地方,
!==
现在可以正常工作了,谢谢。