fopen
在我尝试读取一个适度大小的文件时失败了,PHP
中的一个6兆文件让它无法工作,虽然大小在100k左右的小文件却没问题。我已经阅读到有时需要重新编译PHP
并加上-D_FILE_OFFSET_BITS=64
标志才能读取超过20 GB或其他荒谬的东西的文件,但是对于一个6兆的文件,我不应该遇到问题吧?最终,我们将想要读取大约100兆的文件,并且能够像处理较小文件一样通过fgets逐行读取文件将是很好的。
您在PHP
中读取和操作非常大的文件的技巧/解决方案是什么?
更新:这里是一个简单的代码块示例,在我的6兆文件上失败-PHP
似乎没有抛出错误,而是返回false。也许我在做一些非常愚蠢的事情吗?
$rawfile = "mediumfile.csv";
if($file = fopen($rawfile, "r")){
fclose($file);
} else {
echo "fail!";
}
另一个更新:感谢所有人的帮助,最终问题原来是一个权限问题,非常愚蠢。我的小文件莫名其妙地有了读取权限,而更大的文件却没有。天啊!