Maison >développement back-end >tutoriel php >php从大文件文本TEXT中读取某行的数据

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

高洛峰
高洛峰original
2016-11-28 16:43:211719parcourir

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 已经到了无法忍受的地步


Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn