PHP:从一个大文件第N行开始读取M行

站长 2个月前 访问:61 评论:0 关注:0

function get_line( $file_name , $start , $limit )
{
    $f = new SplFileObject( $file_name , ’r’ );
    $f->seek( $start );
    $ret = Array();

    for( $i = 0 ; $i < $limit ; $i++ )
    {
        $ret[] = trim($f->current());
        $f->next();
    }

    return $ret;

}

测试用文件

-rw-r–r– 1 root root 559M Sep 24 17:28 /data2/a

$time_start = microtime(true);
print_r( get_line( ’/data2/a’ , 3000 , 2 ) ) ;
$time_end = microtime(true);
$time = $time_end - $time_start;
echo "in $time seconds\n";

输出:
0.00301194190979 seconds


评论

还没有人评论 ~

公告