php 获取文件行数的方法总结

yipeiwu_com6年前PHP代码库

stream_get_line获取文件行数

<?php 
$file_path = 'xxx.txt'; //文件路径 
$line = 0 ; //初始化行数 
//打开文件 
$fp = fopen($file_path , 'r') or die("open file failure!"); 
if($fp){ 
//获取文件的一行内容,注意:需要php5才支持该函数; 
while(stream_get_line($fp,8192,"\n")){ 
 $line++; 
} 
fclose($fp);//关闭文件 
} 
//输出行数; 
echo $line; 
?> 
 

feof和fgets获取文件行数

<?php
$lines = 0;//初始化行数 

if ($fh = fopen('data.txt','r')) {//打开文件
 while (! feof($fh)) {//判断是否已经达到文件底部
  if (fgets($fh)) {//读取一行内容
   $lines++;
  }
 }
}
print $lines;
?>
 

count获取文件行数

<?php 
 $line = count(file('filename')); 
 echo $line; 
?>
 

第三种方式因为要保存文件的内容,效率上会很差,这里小编推荐大家使用第一种和第二种方法。

感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!

相关文章

解析argc argv在php中的应用

argc,argv 用命令行编译程序时有用我们会在定时任务脚本中发现这样的参数,$obj->run($argv[1]);*/30 * * * * /usr/local/bin/ph...

让你的网站首页自动选择语言转跳

大家都在用google,你用中文系统打开google的首页,打开的自然是中文首页,而不会是其他语言。因为google会自动判断用户系统使用的首选语言是什么。  怎样才能做到像g...

8个PHP数组面试题

网上找的PHP数组题,准备自己做一遍并且记录下来。 1.写函数创建长度为10的数组,数组中的元素为递增的奇数,首项为1. 复制代码 代码如下: <?php  &n...

php flush无效,IIS7下php实时输出的方法

在一个比较费时的操作中,想把操作记录在浏览器上实时显示出来,用到了flush(),把缓冲中的内容发送到浏览器。但在iis7里面用fastcgi模式配置的php怎么都实现不了,结果总是一起...

php基于SQLite实现的分页功能示例

本文实例讲述了php基于SQLite实现的分页功能。分享给大家供大家参考,具体如下: 这里操作数据库文件使用的是前面文章《PHP基于PDO实现的SQLite操作类【包含增删改查及事务等操...