位置: 编程技术 - 正文

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

  • 4s店事故处理流程
  • 有形资产租赁服务的税率
  • 普通发票可以抵税点吗
  • 空调属于电子设备还是电气设备
  • 企业经营活动所需的资金的来源渠道有
  • 小规模建筑业如何做账
  • 应收债权属于非抵押吗
  • 融资租赁出租方会计处理
  • 固定资产拆除后账务处理
  • 出租设备应计入什么科目
  • 企业并购金额如何确定
  • 企业哪些费用属于重要费用
  • 年底结账会计分录一定要做吗
  • 企业申请增值税专用发票
  • 物管费开票可以开公司名称吗
  • 税务局金四上线
  • 广告公司怎样
  • 集体福利支出包括
  • 先预支后报销如何填写报销单需要老板签字吗
  • 如何防止程序被关闭
  • 普通发票的进项票怎么做分录
  • PHP:xml_set_start_namespace_decl_handler()的用法_XML解析器函数
  • yii2.0实现验证用户名与邮箱功能
  • 入库的原材料单价怎么求
  • PHP:ftp_get_option()的用法_FTP函数
  • 圣胡安教会9个遗物视频
  • iis防盗链
  • 公司怎么查已报销发票
  • 小米路由器青春版r1cl参数
  • php管理员和用户登录
  • vue开发环境配置
  • pgrep命令作用及含义
  • php服务器地址怎么填
  • css选择器怎么用
  • 残保金员工人数怎么算
  • 所得税费用当月计提吗
  • mysql备份原理
  • sql语句中的decode函数
  • 减免税款借贷方表示
  • 0税率可以抵扣进项税吗
  • 三栏式明细账适用于原材料明细账
  • 权益法下公允价值变动计入其他综合收益
  • 银行汇票背书
  • 小规模纳税人企业所得税怎么算
  • 如何降低应收账款成本
  • 服装厂布料都是在哪里进的
  • 企业购入材料收到供货单位开具的发票
  • 公司聚餐做什么科目
  • 支付职工培训费是什么科目
  • 如何填写社会保障卡信息
  • 建筑业负数发票不填工程名称和地址可以吗
  • 有没有确认
  • 银行总账和明细账
  • 会计账簿的启用与登记实验报告
  • windows 2003 iis+php5+mysql+phpmyadmin 详细安装配置
  • win2003 IIS6.0+PHP+MySQL的安?配置
  • windows怎么加速
  • 微软平板电脑surface pro2参数
  • vmwareworkstation10虚拟机
  • win7系统删除文件夹怎么恢复
  • 如何解决win10系统用户名有中文
  • centos6.5查看cpu信息
  • 大白菜U盘安装原版XP系统教程精细版
  • linux chkdsk
  • linux 常用系统
  • window10如何解除密码
  • Unity3D脚本对预制件无效
  • android camera preview
  • 如何关闭危险端口
  • js实现页面跳转跳到主页
  • unity3d最新api
  • hover在jquery中的用法
  • nodejs实战教程
  • js页面点击怎么随机生成图片
  • 技术开发类工作有哪些
  • Java之CyclicBarrier使用
  • 广西国税官网
  • 江苏省社科院院士名单
  • 新入职税务人员给总局的回信
  • 尾矿治理文件
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设