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这个错误在脚本的其他地方,!==
现在可以正常工作了,谢谢。