Rumah >pembangunan bahagian belakang >tutorial php >php从大文件文本TEXT中读取某行的数据

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

高洛峰
高洛峰asal
2016-11-28 16:43:211714semak imbas

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


Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn