设为首页
收藏本站
用户名
Email
自动登录
找回密码
密码
登录
立即注册
只需一步,快速开始
快捷导航
登录
注册
论坛首页
BBS
建站模版
微站设计
虚拟主机
企业邮箱
博客日志
Blog
搜索
搜索
搜索
热搜
长春
优惠
活动
做网站
本版
帖子
用户
本版
帖子
用户
请
登录
后使用快捷导航
没有帐号?
立即注册
道具
勋章
任务
留言板
设置
我的收藏
退出
时时商务社区
»
论坛首页
›
建站资源
›
建站技术
›
php超快高效率统计大文件行数
返回列表
查看:
1552
|
回复:
0
php超快高效率统计大文件行数
[复制链接]
xgnic
当前离线
积分
11142
3444
主题
3465
帖子
1万
积分
管理员
积分
11142
发消息
电梯直达
楼主
发表于 2018-2-14 05:44:26
|
只看该作者
|
倒序浏览
|
阅读模式
用php获取文件行数,网上给出的答案通常是使用file这样一次性读取,这样不适用在大文件。通常大文件大家用while来循环的逐行统计,这样的效率太慢
最快的方法是多行统计,每次读取N个字节,然后再统计行数,这样比逐行效率高多了。
测试情况,文件大小 3.14 GB
第1次:line: 13214810 , time:56.2779 s;
第2次:line: 13214810 , time:49.6678 s;
/*
* 高效率计算文件行数
* @author axiang
*/
function count_line($file){
$fp=fopen($file, "r");
$i=0;
while(!feof($fp)) {
//每次读取2M
if($data=fread($fp,1024*1024*2)){
//计算读取到的行数
$num=substr_count($data,"\n");
$i+=$num;
}
}
fclose($fp);
return $i;
}
以上所述就是本文的全部内容了,希望大家能够喜欢。
您可能感兴趣的文章:
PHP中文处理 中文字符串截取(mb_substr)和获取中文字符串字数
php中3种方法统计字符串中每种字符的个数并排序
使用php统计字符串中中英文字符的个数
PHP统计目录大小的自定义函数分享
php实现统计网站在线人数的方法
php简单统计字符串单词数量的方法
php统计数组元素个数的方法
php使用Session和文件统计在线人数
php简单统计中文个数的方法
PHP实现的统计数据功能详解
php实现的统计字数函数定义与使用示例
分享到:
QQ好友和群
QQ空间
腾讯微博
腾讯朋友
收藏
0
回复
使用道具
举报
返回列表
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
|
立即注册
本版积分规则
发表回复
回帖后跳转到最后一页
用户反馈
客户端