位置: 编程技术 - 正文

PHP读取大文件末尾N行的高效方法推荐(php获取文件夹大小)

编辑:rootadmin

推荐整理分享PHP读取大文件末尾N行的高效方法推荐(php获取文件夹大小),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:php打开文件读取内容,php 读取大excel,php读取文件内容的方法和函数,php读取文件内容的方法和函数,php 读取文本文件,php读取文件大小,php读取文件大小,php 读取大文件,内容如对您有帮助,希望把文章链接给更多的朋友!

小文件几兆以内大小,都可以通过file()函数,将文件按行读入数组,在用array_pop取得最后一行,就可以了。

但是对于很大的文本文件来说,机器内存不够大,或者php本身memory_limit有限制,这个办法就不适用了,即使强行不限制,效率也是非常低的。

没有办法了吗?当然有,不过没有现成的函数了,需要自己动手了。

这里需要用到文件指针,学过C的应该知道指针式个嘛玩意,通俗的讲吧,PHP中通过fopen打开一个文件,这时候还没有读取文件,这时候指向的是文件开头,指针位置也就是0,当你通过fgets或者fgetc从文件中读取内容的时候,你读多少,指针也相应往前进多少,这也是

PHP读取大文件末尾N行的高效方法推荐(php获取文件夹大小)

得以实现的原理,即fgets是从当前指针位置向后读取指定长度的字符串,直到遇见换行符为止。

那么可不可以控制指针的位置到倒数第N行位置呢?很遗憾,没有,但是可以将指针直接移动到末尾,并倒退N个位置,通过fseek()函数。

我们先将指针移动到末尾,并向后倒退2个位置,通过fgetc读取一个字符,判断这个字符是不是"n"也就是换行符,如果不是换行符,那么继续倒退一个位置再次判断,直到我们倒退到上一行的结尾换行符为止,直接使用fgets将一整行都取出来即可。这里面用到两个while循环,外层循环控制需要取得的行数,内层循环控制fseek动作。

函数如下:

以上这篇PHP读取大文件末尾N行的高效方法推荐就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持积木网。

php 如何获取文件的后缀名 比如图片文件的后缀,jpg或gif等有两个方法一,假如$img为图片文件名$img=.gif;$img_ext=substr($img,strrpos($img,'.'));二,用到php数组,先把文件名字符串读取到数

PHP获取指定时间段之间的 年,月,天,时,分,秒 核心代码:ClassUtils{/***formatMySQLDateTime(YYYY-MM-DDhh:mm:ss)把mysql中查找出来的数据格式转换成时间秒数*@paramstring$datetime*/publicfunctionfmDatetime($datetime){$year=substr

JSON字符串传到后台PHP处理问题的解决方法 在项目开发的时候由于涉及到批量记录数组的传入,由于字段多,所以不可能能用普通的方式&a=&=gsd&v=rwe这样去传送,所以想到了前端传JSON格式过去co

标签: php获取文件夹大小

本文链接地址:https://www.jiuchutong.com/biancheng/296278.html 转载请保留说明!

上一篇:PHP中读取文件的几个方法总结(推荐)(php读取php文件内容)

下一篇:php 如何获取文件的后缀名(php获取文本内容)

  • 材料抵扣货款怎么写简单协议范本
  • 代征增值税业务的账务处理
  • 回退税款所属期具体条件是
  • 税务局可以委托公司代征税,你觉得可能吗?
  • 资产负债表里的固定资产是原值还是净值
  • 水泥沙子开票属于什么类别
  • 外企缴纳社保
  • 报销业务招待费用主题
  • 一般纳税人增值税优惠政策
  • 增资扩股如何操作
  • 外出参加会议费用怎么算
  • 提前退休获得一次性补贴要交个人所得税吗?
  • 劳务公司的税率是多少经营模式
  • 如何防止虚开发票 等舞弊行为?
  • 周转天数是越大越好吗
  • 进项发票认证抵扣时间是每月的15号吗
  • 可转债转换为股权投资的企业所得税处理
  • 结汇汇兑损益账务处理
  • 开票金额比收入高怎么办
  • 事业单位接受捐赠的货币资金在财务会计中确认捐赠收入
  • w11如何激活
  • 非经营性单位支出费用是什么
  • 行政事业单位向企业借款违反了什么规定
  • 暂估成本跨月账务处理
  • 苹果电脑里的finder是什么
  • 专用发票和普通发票的报销区别
  • 预算会计的特点包括
  • 微信用不升级
  • uni-app怎么样
  • 二手设备账务处理
  • php oracle 连接池
  • 治疗孩子咳嗽小秘方,超实用
  • 2021市场发展
  • php入门基础教程
  • 深入理解php类的知识
  • chown命令和chmod
  • 工会经费缴纳后会返还吗
  • 税务申报显示已申报
  • 帝国cms使用手册
  • mongo认证失败
  • Sqlite 操作类代码
  • 中标的费用怎么算
  • 进口增值税是什么意思
  • 红字发票与作废发票验旧
  • 固定资产清理包括什么会计科目
  • access2016备注型
  • 建筑企业属于什么类型
  • 企业跨区变更地址迁入地核验码怎么查询
  • 企业如何在没有税务登记
  • 商场返券计算公式
  • 外贸企业汇兑损益如何减少
  • 合伙企业是什么组织形式
  • 汇算清缴退费怎么入账
  • 收到一笔财政局的付款
  • 印花税属于什么科目
  • sqlserver日期类型数据
  • ie8-ie11
  • pe工具箱怎么用
  • win10系统d盘变成e盘,进入winpe盘符正常
  • windowsxp收藏夹在哪
  • 怎么把ubuntu装在u盘上
  • centos7修改远程登录端口
  • macbookpro客人用户
  • win7系统本身会占用多少空间
  • win10开机黑屏进入不了系统界面
  • windows7日文版改中文
  • win10超级按钮
  • win7 u盘不显示
  • 协同编程工具
  • 升级jdk版本
  • js数据的基本类型有哪些
  • eclipse开发安卓app实例
  • python pygame模块详解
  • js与jquery的关系
  • python入门教程
  • JavaScript中的math.pi
  • 图片处理流程
  • SpringMVC restful 注解之@RequestBody进行json与object转换
  • 广西税务登记查询网站
  • 重庆市怎么在网上打印章程
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设