位置: 编程技术 - 正文

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

  • 员工扣了个税但没交给税务局
  • 半成品可以计入成本吗
  • 税控盘及维护费的会计分录
  • 公司账户美金入账
  • 实缴注册资本交税吗
  • 企业年报社保都是0人的公司
  • 律师事务所的账务流程
  • 进项税加计扣除什么时候开始的
  • 什么情况下征税
  • 外购生物资产的成本不包括
  • 工程费用进项税率
  • 筹备费用怎么扣税的
  • 房地产企业增值税税率是多少
  • 个人所得税起征点什么时候调整的
  • 员工个人学历教育费用不能在企业所得税前列支
  • 事业单位什么情况下可以提前退休
  • 销项税额抵减会取得专用发票吗为什么
  • 安置房账务处理
  • 个人将租来的房子转租如何交税
  • 资源税改革最新政策
  • 汇兑结算包括
  • bitlocker功能
  • 会计科目与账户的关系
  • bios界面进入
  • 安装win7前需要手动格式化c盘吗
  • 职工福利费会计科目走管理费用
  • 电脑方案表格
  • 进货返利会计分录
  • 递延所得税资产是什么意思
  • php制作简单的表单代码
  • 多品种生产能力计算公式
  • 债权投资利息调整属于什么科目?
  • php命名空间和自由空间
  • 报销加油票怎么开票
  • 税负太高会预警吗
  • window12最新系统
  • 银行回单打回来会计要做什么
  • pycharm cant find main
  • 纳税总额怎么算
  • 企业所得税里面的利润总额怎么算
  • 工会经费的主要用途
  • PostgreSQL教程(七):函数和操作符详解(3)
  • 技术服务费会计科目
  • 保险公司委托代征是什么意思
  • 工程外经证预缴税款计税方法
  • 应交增值税的结转怎么算
  • 装修公司预收款要交增值税吗
  • 预收账款处理
  • 网上银行回单可以做账吗
  • 关于低值易耗品的评估说法正确的有()
  • 年终结账账务处理
  • mysql事务用法
  • win7系统中如何禁用和启用网络
  • win7隐藏共享文件夹
  • win7如何设置共享
  • linux如何调出鼠标
  • WinCinemaMgr.exe - WinCinemaMgr是什么进程
  • proflwiz.exe - proflwiz是什么进程 有什么用
  • WIN10更新WIN11卡在63%
  • Win7系统安装方法
  • vncviewer连接linux
  • linux必会的20种服务
  • 常见的错误方法
  • nodejs函数返回值
  • unity系统错误
  • js调用方法什么时候要加括号
  • python爬虫爬取京东某个商品
  • python网络爬虫程序
  • bash shell脚本编程经典实例(第2版)
  • javascript基础教程pdf
  • jQuery Ajax使用FormData对象上传文件的方法
  • javascript入门教学
  • jquery的validate前端表单验证
  • jqueryw3c
  • 新车购置税最低多少钱
  • 青年文明号创建目标
  • 特殊工种作业人员
  • 源泉扣缴通俗
  • 改革概念股是什么
  • 卖钢材交哪些税
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设