添加False
作为 PHP
feof()
函数的第一个参数有什么影响?
好吧,这是feof
文档中的内容:
测试文件指针上的文件结尾。
而且由于函数中只允许使用一个参数,如下所示:
bool feof ( resource $handle )
您正在设置的False
基本上是告诉脚本:
while ([the file handle doesn’t equals false do this]) {
所以你基本上是以某种方式短路了逻辑。但是如果没有看到完整的代码或错误消息,100% 不清楚做这样的事情会对整体应用程序行为产生什么影响。
更新:既然你现在说错误日志说:
feof() expects parameter 1 to be resource, boolean given in
这基本上意味着问题是$file
您试图打开然后创建一个文件句柄$fh
不存在或无法读取:
$file = ../somedir/somefile.txt;
$fh = fopen($file, 'r');
现在对您来说最好的解决方案是将条件包装在另一个条件中,如下所示:
$file = ../somedir/somefile.txt;
if (file_exists($filename)) {
$fh = fopen($file, 'r');
while (!feof($fh)) {
$line = fget(...
}
但是现在看你的代码那行$file = ../somedir/somefile.txt;
正确吗?不应该是:
$file = '../somedir/somefile.txt';
所以你的代码看起来像这样:
$file = '../somedir/somefile.txt';
if (file_exists($filename)) {
$fh = fopen($file, 'r');
while (!feof($fh)) {
$line = fget(...
}
但除此之外,我会检查实际文件是否../somedir/somefile.txt
存在并且您的脚本是否可以读取。可能是位置已更改,或者连接到该文件的权限或用户已更改。这很可能是feof() expects parameter 1 to be resource, boolean given in
错误的根本原因。