PHP 读取大文件

代码


<?
/**


* PHP 读取大文件 测试文件大于1G的文本文件


*


* @copyright(c) 2010 by 高成. All rights reserved


* @author 高成


*


*/


/**


* 文件读取


*


* @param String $filename 文件地址


* @param Int $count 读取得行数


* @param String $sep 每行的分隔标记


* @return String 返回结果


*/


function readBigFile($filename, $count = 20, $tag = “\r\n”) {


$content = ”;//最终内容


代码


___FCKpd___0


 


 


PHP还有其他方法能够解决,比如system函数,不足之处还望指正!
current = ”;//当前读取内容寄存


$step= 1;//每次走多少字符


$tagLen = strlen($tag);


$start = 0;//起始位置


$i = 0;//计数器


$handle = fopen($filename,’r+’);//读写模式打开文件,指针指向文件头


while($i < $count && !feof($handle)) { //文件没有到结尾和小鱼需要读取得行数时


fseek($handle, $start, SEEK_SET);//指针设置在文件开头


代码


___FCKpd___0


 


 


PHP还有其他方法能够解决,比如system函数,不足之处还望指正!
current = fread($handle,$step);//读取文件


$content .= 代码


___FCKpd___0


 


 


PHP还有其他方法能够解决,比如system函数,不足之处还望指正!
current;//组合字符串


$start += $step;//依据步长向前移动


//依据分隔符的长度截取字符串最后免得几个字符


$substrTag = substr($content, -$tagLen);


if ($substrTag == $tag) { //判断是否为判断是否是换行或其他分隔符


$i++;


}


}


//关闭文件


fclose($handle);


//返回结果


return $content;


}


$filename = ‘E:/2010log.log’;//需要读取的文件


$tag = “\r\n”;//行分隔符 注意这里必须用双引号


$count = 20;//读取行数


$data = readBigFile($filename,$count,$tag);


echo $data;
?>


 


 


PHP还有其他方法能够解决,比如system函数,不足之处还望指正!
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值