php获取指定行,PHP读取大文件指定行

function getFileLines($filename, $startLine = 1, $endLine = 50, $method = 'rb'){

$content = array();

if (version_compare(PHP_VERSION, '5.1.0', '>=')){ // 5.1版本之上使用Splfileobject

$count = $endLine - $startLine;

$fp = new SplFileObject($filename, $method);

$fp -> seek($startLine - 1); // 转到$startLine行,seek方法从0开始计数

for ($i = 0; $i <= $count; ++$i){

$content[] = trim(($fp -> current()), "\n"); //current()方法取当前行清除换行保存到数组

$fp -> next(); //循环下一行

}

}else{ // PHP<5.1

$fp = fopen($filename, $method);

if (!$fp)

return 'error:can not read file';

for ($i = 1; $i < $startLine; ++$i){ //定位到$startLine行

fgets($fp);

}

for ($i; $i <= $endLine; ++$i){

$content[] = fgets($fp); //从$startLine行开始循环读取到$endLine行

}

fclose($fp);

}

return array_filter($content); //返回array_filter(flase,null,0)过滤后的数组

}

?>

示例:<?php

$filename = 'file.txt';

$start = 1;

$end = 10;

$count = $end - $start;

while (true){

$data = getFileLines($filename, $start, $end);

// var_dump($data);

$rev = ver($data);

if($data[9] == ''){

die("End");

sleep(10);

}

$start = $start + 10;

$end = $end + 10;

}

?>

标签:php

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值