Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/252.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php feof():提供的资源不是有效流_Php - Fatal编程技术网

Php feof():提供的资源不是有效流

Php feof():提供的资源不是有效流,php,Php,上面的代码工作得非常好 但是,如果我在函数外部声明$FILE变量并将其作为函数的参数传递,则会出现以下错误“feof():提供的资源不是有效的流资源” 有人能解释一下这里到底发生了什么吗?您将$FILE声明为文件句柄,但将未定义的$FILE作为参数传递给函数。PHP区分大小写。您的代码正常工作。注意:您没有检查fopen()中的返回值是否存在文件打开故障。哪个版本的PHP?你在你的问题中遗漏了什么可能会产生问题?你在哪里看到的?函数调用是numOfLines($FILE)。函数声明应该使用不同的

上面的代码工作得非常好

但是,如果我在函数外部声明$FILE变量并将其作为函数的参数传递,则会出现以下错误“feof():提供的资源不是有效的流资源”


有人能解释一下这里到底发生了什么吗?

您将$FILE声明为文件句柄,但将未定义的$FILE作为参数传递给函数。PHP区分大小写。

您的代码正常工作。注意:您没有检查
fopen()
中的返回值是否存在文件打开故障。哪个版本的PHP?你在你的问题中遗漏了什么可能会产生问题?你在哪里看到的?函数调用是
numOfLines($FILE)。函数声明应该使用不同的变量名,否则会收到警告;当我在看的时候,我的脑海里模糊了定义和调用。注意约翰,不是我。多看几眼有时会有帮助。
function numOfLines () {
    $file = fopen("data/text.txt", "r");
    $count = 0;
    while (!feof($file)) {
        $line = fgets($file);
        $count++;
    }
    return $count;
}
print_r(numOfLines());  = output 13 (for example)
$FILE = fopen("data/text.txt", "r");
function numOfLines ($file) {
    
    $count = 0;
    while (!feof($file)) {
        $line = fgets($file, 1024);
        $count++;
    }
    return $count;
}
print_r(numOfLines($FILE)); = feof(): supplied resource is not a valid stream resource