位置: 编程技术 - 正文

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获取文本内容)

  • 个体工商户能开多少钱的普票
  • 纳税人进口货物应当自海关填发税款
  • 两地发工资个税处理
  • 国企的注册资本也很少吗
  • 信息技术费如何做账
  • 关联企业利息
  • 汇算清缴调增的金额,如何做会计分录
  • 领备用金时会计怎么做分录
  • 开的是全额发票但是有分包如何做账务处理?
  • 怎样冲减虚开发票的会计分录
  • 抬头是别的公司怎么报销
  • 分公司是否可以贷款
  • gdp等于消费加储蓄加税收
  • 美元结汇需要多长时间
  • 工会经费 管理费用
  • 可以税前扣除的收据有哪些
  • 当期的费用
  • 1697508432
  • 金蝶旗舰版反过账的操作步骤
  • 失控发票补完税还追究吗
  • 个体工商户公转私用途写什么
  • 去年的成本如何调整
  • 企业所得税汇算清缴操作流程
  • php实现批量删除
  • nvcpl.dll是什么
  • mdn php
  • 其他业务成本主要有哪些
  • 多对账工作的主要内容
  • 记账凭证按其用途
  • vue ui怎么用
  • 企业股权转让所得可以弥补亏损吗
  • php gettext
  • vue全局引入js文件
  • laravel enum
  • redisson php
  • 促销赠品的会计处理
  • 对公账户走账是怎么回事
  • 企业开具劳务费发票怎么开,税率多少
  • php decbin
  • mongodb如何修改数据
  • 帝国cms php8.0
  • 中国互联网创业成功的年轻人
  • 公司茶水间管理规定
  • 净资产包含哪些方面
  • sql默认路径在哪里
  • 商家下单
  • 材料采购合同要点
  • 总分公司如何承担责任
  • 企业清算未收到发票
  • 自产产品发给职工做福利的会计处理
  • 支付技术转让费所得税处理
  • 普通发票采购分录
  • 个人出租租房收什么税
  • 企业被收购的账务处理
  • 公账钱怎么取出
  • mysql 判断
  • windows 10测试版
  • “incorrect super block” FreeBSD挂载CDROM时报错误的解决方法
  • xp无法识别的usb设备unknown device
  • 清除桌面应用软件
  • win8怎么安装不了win10
  • 红石使用基础教学
  • 将Red Hat 9.0 CD iso合成一张DVD iso的方法
  • inodecmn.exe
  • Win10系统安装包
  • mac修改文件名
  • .msc是什么文件
  • windows10周年纪念版
  • win10如何彻底关掉自动锁屏
  • 网页制作颜色搭配
  • js函数重名
  • Android之Volley
  • dos删除指定后缀文件
  • html5仿微博代码
  • vr project
  • jQuery插件封装时如要实现链式编程,需要
  • 河北电子税务局社保缴费流程
  • 工信厅有什么实权
  • 宝鸡二套房契税多少
  • 陕西省西安市国家民用航天产业基地邮编
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设