php从大文件文本TEXT中读取某行的数据

高洛峰
高洛峰 原创
2016-10-14 10:30:17 1006浏览
function get_line($file,$line) {
    $fp = fopen($file,'r');
    $i = 0;
    while(!feof($fp)) {
        $i++;
        $c = fgets($fp);
        if($i==$line) {
            echo $c;
            break;
        }
    }
}
这个方式效率仍待考验
在一个apache的日志文件中(450M)
读取第20行非常之快 0.001039981842041
读取第200行0.0033199787139893
读取第2万行需要0.30908799171448 秒左右
读取第20万行2.5622429847717 seconds 已经到了无法忍受的地步


声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。