位置: 编程技术 - 正文

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

  • 什么是企业的应纳税额
  • 税务会计师报考科目
  • 其他应收款账务处理题目
  • 零申报还要抄税吗
  • 工程款预付账款的账务处理
  • 股权转让交的税如何做账
  • 工程预付款增值税缴纳办法
  • 其他货币资金存出投资款什么时候用
  • 债务重组是什么意思?
  • 研发部门领用材料会计分录
  • 企业装载机管理制度
  • 企业收到经营外的发票如何做账
  • 机器设备进项税额是否要分期抵扣
  • 印花税在什么情况下需要申报
  • 商家拒开发票的五大借口
  • 环保设备的折旧计入
  • 外地餐费计入什么账户
  • 记账凭证中借方和贷方什么意思
  • 小规模企业转为一般纳税人怎么做会计分录
  • 增值税降税让利给谁
  • 季度不含税收入30万以内免增值税
  • 进项认证转出 会计得入账吗
  • 安装监控违法吗
  • 重庆四日游最佳攻略超详细
  • 银行承兑汇票开出后可以撤销吗?
  • 公司修建污水池申请书
  • PHP:curl_errno()的用法_cURL函数
  • 月底增值税怎么计提
  • 营改增会计分录
  • win10的环境配置在哪
  • 银行承兑汇票挂失手续费收费标准
  • 私企固定资产管理办法
  • node.js安装步骤
  • apache 反射工具类
  • 已入账的发票跨年退回税务
  • rf-kill
  • 个税系统为什么没有累计数据
  • 应收账款贷款怎么做
  • 合并报表中为什么要抵损益
  • 织梦怎么改网站主页
  • 普通发票税额没有打印全可以用么
  • 车辆购置税的计税价格为不含增值税的全部价款
  • 银行承兑汇票是表内还是表外业务
  • 制造费用怎么摊销到成本?
  • 专票已认证还能作废吗
  • 提取折旧的意义
  • 残保金是应交税费吗
  • 生产车间包括什么
  • 没有发票的费用调增填在哪里
  • 个人购买机动车需要交增值税吗
  • 房地产企业什么时候停止预缴增值税
  • 预付款怎样做会计分录
  • sql注入讲解
  • sql中的递归
  • sqlserver not in 语句使程充崩溃
  • 远程连接局域网电脑
  • windows2000自动登陆
  • 微软宣布将AI引入Office套件
  • ubuntu搜索已安装软件
  • 苹果macbook怎么切换系统
  • linux的用法
  • linux用户权限管理
  • linux 图形
  • win8系统出现自动修复
  • ddriver进程
  • win10系统出现问题怎么办
  • win10系统无法进入
  • windows 8怎么样
  • 水下摄影技巧
  • unity3d跑酷游戏推荐
  • python怎么图像处理
  • [置顶]bilinovel
  • js怎么写java代码
  • jquery是基于java的吗
  • javascript的几种数据类型
  • 领导班子和领导干部的区别
  • 销售车位需要交房产税吗
  • 百旺金赋跨月专票作废
  • 个体非正常户怎么解除
  • 20万块手表交多少税
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设