在 PHP 中读取非常大的文件
fopen
当我尝试读取 中大小适中的文件时,失败。 使它窒息,尽管周围较小的文件就好了。我已经读到,有时有必要重新编译标志,以便读取超过20 gigs或荒谬的文件,但是我不应该对6 meg文件没有问题吗?最终,我们将希望读取大约100兆的文件,并且能够打开它们然后使用fgts逐行读取它们会很好,就像我能够对较小的文件所做的那样。PHP
A 6 meg file
100k
PHP
-D_FILE_OFFSET_BITS=64
您在 中读取和操作非常大的文件有哪些技巧/解决方案?PHP
更新:这是一个简单的代码块示例,在我的6 meg文件上失败 - PHP似乎没有抛出错误,它只是返回false。也许我正在做一些非常愚蠢的事情?
$rawfile = "mediumfile.csv";
if($file = fopen($rawfile, "r")){
fclose($file);
} else {
echo "fail!";
}
另一个更新:感谢大家的帮助,它确实被证明是非常愚蠢的 - 权限问题。我的小文件莫名其妙地具有读取权限,而较大的文件没有。哎呀!