不能fgets()一个1 gig文件?

时间:2013-11-26 22:47:15

标签: php

代码:

$filename = 'Master_List_DeDuped.csv';
$fp = fopen($filename, "r");

while (false !== ($line = fgets($fp))) {

    echo $line;
    die(); // For Debugging only
}

fclose($fp);

产生的错误:

Warning: fgets(): 3 is not a valid stream resource in /home3/public_html/index.php on line 288

第288行是while语句。相同的命令适用于较小的文件。我的文件约为1.1演出。它只是一个文件大小限制?

编辑:我已尝试将长度参数添加到fgets,但显示相同的错误。 http://us2.php.net/fgets

1 个答案:

答案 0 :(得分:0)

根据php.net http://us2.php.net/fgets的示例更改了一些代码。有效的代码是:

$filename = 'Master_List_DeDuped.csv';
$fp = @fopen($filename, "r");
if ($fp) {
    while (($line = fgets($fp, 4096)) !== false) {
        echo $line;
        die(); // For Debugging only
    }
}

fclose($fp);