php 获取文件最后几行,php获取文件的最后N行数据

本篇文章介绍的内容是php获取文件的最后N行数据,现在分享给大家,也可以给有需要的朋友一个参考

GitHub源码

代码是基于以下问题,给出的解决方案:

用php写一个函数,获取一个文本文件最后$n行内容,要求尽可能效率更高,并可以跨平台使用

我理解的可以跨平台使用,是说的文件在windows平台和linux平台的行结束符不一致问题,在代码中我们没有体现这种不同。全部是在linux系统下的代码。跨平台问题还需要理解?<?phpheader ("content-type:text/html;charset=utf-8");class GetFileLastNumRow{

private $filePath; private $fileMode = 'r'; private $rowNum = 3; public function __construct(array $config)

{

foreach ($config as $key => $value) { $this->$key = $value;

}

} public function run()

{

try { $handle = fopen($this->filePath, $this->fileMode);

fseek($handle, -1, SEEK_END); $contents = ""; $rowCount = 0; do { if (($str = fgetc($handle)) == "\n") { $rowCount++;

} $contents = $str.$contents;

fseek($handle, -2, SEEK_CUR);

} while ($rowCount < $this->rowNum);

var_export(trim($contents, "\n"));

fclose($handle);

} catch(\Exception $e) {

var_export($e->getMessage());

}

}

}class Test{

public function run()

{

$filePath = './TestData/GetFileLastNumRow/test.data'; $getFileLastNumRow = new GetFileLastNumRow(compact('filePath')); $getFileLastNumRow->run();

}

}$test = new Test();$test->run();

相关推荐:

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/345082.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

jaVa游戏三国志英杰传,《三国志英杰传》到底是怎样的一款游戏

原标题&#xff1a;《三国志英杰传》到底是怎样的一款游戏介绍作为PC平台上经典的战棋策略类游戏&#xff0c;英杰传系列可谓把这一类型游戏在战略性和资源获取上的精髓发挥的淋漓尽致。系列初代的《三国志英杰传》诞生在1995年的DOS系统上&#xff0c;虽然我接触英杰传时已经是…

jvm 内存镜像_镜像镜像–使用反射在运行时查看JVM内部

jvm 内存镜像开发人员&#xff1a;Takipi会告诉您何时新代码在生产中中断– 了解更多 我们都习惯于在我们的日常工作中直接或通过利用反射的框架来运用反射。 它是Java和Scala编程的主要方面&#xff0c;它使我们使用的库可以与我们的代码进行交互&#xff0c;而无需对其进行硬…

【渝粤题库】广东开放大学 微信平台开发与应用 形成性考核 (2)

选择题 题目&#xff1a; 以下哪些功能是属于微信的&#xff1f; 题目&#xff1a; 认证过的订阅号的底部是否可以直接链接到外部链接&#xff1f; 题目&#xff1a; 下面哪些属于页面前端开发技术&#xff1f; 题目&#xff1a; 那种情况下的公众号可以申请微信支付&#xff1…

php微信小程序获取用户信息,微信小程序获取openid及用户信息的方法

本文主要介绍微信小程序如何获取openid及用户信息&#xff0c;具有一定的参考价值&#xff0c;感兴趣的小伙伴们可以参考一下&#xff0c;希望能帮助到大家。1. 获取openid1.1 获取code调用接口获取登录凭证(code)进而换取用户登录态信息&#xff0c;包括用户的唯一标识(openid…

【渝粤题库】广东开放大学 服务标准化 形成性考核

​&#x1f449;关注我,看答案&#x1f448; 选择题 题目&#xff1a;以下关于本课程终考的描述正确的是&#xff1f; 题目&#xff1a;以下哪种方式能判断已发布的形考是否都做了&#xff1f; 题目&#xff1a;作为专业方向课&#xff0c;本课程最后的总成绩应该达到多少才不影…

谁去过顽皮,谁去过尼斯? 圣诞老人为您提供Java 11建议!

有没有想过圣诞老人如何为世界各地的孩子们送上节日礼物&#xff1f; 有20亿个孩子&#xff0c;每个孩子都有自己的愿望清单&#xff0c;他会在24小时内完成。 这意味着每个孩子平均需要43微秒&#xff0c;他需要检查每个孩子是否顽皮或好。 您无需再怀疑了。 我会透露这个秘密…

php时间格式函数,PHP函数之日期时间函数date()使用详解_php基础_脚本

$ttime();echo date("Y-m-d H:i:s",$t);第一个参数的格式分别表示:a - "am" 或是 "pm"A - "AM" 或是 "PM"d - 几日&#xff0c;二位数字&#xff0c;若不足二位则前面补零; 如: "01" 至 "31"D - 星期几…

【渝粤题库】广东开放大学 物业财税管理基础 形成性考核

选择题 题目&#xff1a;企业将资金以购买债券、提供借款或商业信用等形式出借给其他单位&#xff0c;这是一种&#xff08; &#xff09;的财务关系。 题目&#xff1a;&#xff08; &#xff09;是指买卖双方成交后&#xff0c;在双方约定的未来某一特定的时日才交割的交易市…

【渝粤题库】广东开放大学 统计基础 形成性考核

选择题 题目&#xff1a; 对某城市工业企业未安装设备进行普查&#xff0c;总体单位是&#xff08; &#xff09;。 选择一项&#xff1a; 题目&#xff1a; 某地"国内生产总值”这一统计指标属于&#xff08; &#xff09;。 选择一项&#xff1a; 题目&…

java无符号 uuid,java实现无符号数转换、字符串补齐、md5、uuid、随机数示例

package com.hongyuan.test;import java.security.messagedigest;import java.security.nosuchalgorithmexception;import java.util.random;import java.util.uuid;/** 杂项(无符号数转换&#xff0c;字符串补齐&#xff0c;md5,uuid,随机数)*/public class sundrytest {//转成…

【渝粤题库】广东开放大学 质量管理 形成性考核

​&#x1f449;关注我,看答案&#x1f448; 选择题 题目&#xff1a;可以通过哪些形式登陆学校的课程平台进行学习&#xff1f; 题目&#xff1a;以下关于课程勋章的说法&#xff0c;哪些是“正确”的&#xff1f; 题目&#xff1a;在“疑难解答区”发帖时&#xff0c;哪种类型…

play框架配置 拦截器_如何使用Play框架为https配置SSL证书

play框架配置 拦截器我花了几个小时试图使它起作用&#xff0c;最后&#xff0c;问题是我自己没有使用keytool生成CSR&#xff08;证书请求&#xff09;。 当我尝试通过https访问Play时&#xff0c;我一直收到此错误&#xff1a; javax.net.ssl.SSLPeerUnverifiedException&a…

【渝粤题库】陕西师范大学100141大学英语(三)作业 (专升本、高起本)

交际与对话 针对每个对话中未完成的部分有4个选项&#xff0c;请从A、B、C、D四个选项中选出正确选项。 a. What do you think of the speech given by Professor Smith? b. . But I’m not particularly interested in the topic. A. Let me think about it. B. Not bad. C.…

webmin升级php,Webmin php-lib.pl修改

我已经将PHP版本更新到5.5.26。使用PHP 5.4&#xff0c;我使用FCGI的Apache配置是&#xff1a;AddHandler fcgid-script .phpAddHandler fcgid-script .php5使用新版本的PHP我需要把其他配置工作&#xff1a;SetHandler fcgid-script没关系&#xff0c;它的工作。我的问题是与W…

【渝粤题库】陕西师范大学151211 税法与纳税会计 作业(专升本)

《税务与纳税会计》作业 一、单选题 以下关于纳税主体的表述中正确的是&#xff08; &#xff09;。 A. 纳税会计纳税主体和财务会计中的“会计主体”相同 B. 会计主体都是纳税主体 C. 纳税主体不一定是会计主体 D. 纳税主体一定是会计主体 下列项目中属于纳税人权利的是&…

java代码上传exel,excle上传服务器并解析!求excel上传到服务器的java代码

如何将数据上传给服务器医嘱以形式发送过来&#xff1f; 办法有很多&#xff0c;最简单的&#xff0c;就是在机器里&#xff0c;建立2个数据库A,B&#xff0c;假如A是外务器。 在数据库中&#xff0c;以A数据库做发布&#xff0c;让B数据库订阅&#xff0c;弄好以后&#xff0c…

Java中的Fork / Join框架的简要概述

Fork / Join框架是使用并发分治法解决问题的框架。 引入它们是为了补充现有的并发API。 在介绍它们之前&#xff0c;现有的ExecutorService实现是运行异步任务的流行选择&#xff0c;但是当任务同质且独立时&#xff0c;它们会发挥最佳作用。 运行依赖的任务并使用这些实现来组…

【渝粤题库】陕西师范大学163106旅游心理学 作业【专升本】

陕西师范大学 内 部 题 库 教育 &#xff08;yuyueshool&#xff09; 编制 陕西师范大学 内 部 题 库 教育 &#xff08;yuyueshool&#xff09; 编制 《旅游心理学》作业 一、单选题 1、旅游心理学是心理学的一个分支学科,这句话正确与否&#xff1f;&#xff08; &#x…

【渝粤题库】陕西师范大学164204 供应链与物流管理 作业

《供应链与物流管理》作业 一、单选题 1、是围绕核心企业&#xff0c;通过对信息流、物流、资金流的控制&#xff0c;从采购原材料开始&#xff0c;制成中间产品以及最终产品&#xff0c;最后由销售网络把产品送到消费者手中的将供应商、制造商、分销商、零售商、直到最终用户…

matlab 球坐标绘图,MATLAB绘制地图

1使用向量绘制地图1.1绘制全球海岸线向量数据可以表示一个地图。这种向量存在的形式是一系列的经纬度或投影坐标对&#xff0c;它们代表一个点集、一个线条或者多边形。例如&#xff0c;描绘出行政区域边界的点、公路系统、城市的中心或者以上三个集合放在一起&#xff0c;都可…