位置: 编程技术 - 正文

php使用file函数、fseek函数读取大文件效率对比分析(php file函数)

编辑:rootadmin

推荐整理分享php使用file函数、fseek函数读取大文件效率对比分析(php file函数),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:php_fileinfo作用,php操作文件的常用函数,php中file_put_contents,php中file,php file函数,php file_append,php中file,php__file__,内容如对您有帮助,希望把文章链接给更多的朋友!

php读取大文件可以使用file函数和fseek函数,但是二者之间效率可能存在差异,本文章向大家介绍php file函数与fseek函数实现大文件读取效率对比分析,需要的朋友可以参考一下。

1. 直接采用file函数来操作

由于 file函数是一次性将所有内容读入内存,而PHP为了防止一些写的比较糟糕的程序占用太多的内存而导致系统内存不足,使服务器出现宕机,所以默认情况下限制只能最大使用内存M,这是通过php.ini里的 memory_limit = M 来进行设置,这个值如果设置-1,则内存使用量不受限制。

下面是一段用file来取出这具文件最后一行的代码:

整个代码执行完成耗时 . (s)。

我机器是2个G的内存,当按下F5运行时,系统直接变灰,差不多分钟后才恢复过来,可见将这么大的文件全部直接读入内存,后果是多少严重,所以不在万 不得以,memory_limit这东西不能调得太高,否则只有打电话给机房,让reset机器了。

2.直接使用PHP的 fseek 来进行文件操作

php使用file函数、fseek函数读取大文件效率对比分析(php file函数)

这种方式是最为普遍的方式,它不需要将文件的内容全部读入内容,而是直接通过指针来操作,所以效率是相当高效的。在使用fseek来对文件进行操作时,也有多种不同的方法,效率可能也是略有差别的,下面是常用的两种方法:

方法一

首先通过fseek找到文件的最后一位EOF,然后找最后一行的起始位置,取这一行的数据,再找次一行的起始位置, 再取这一行的位置,依次类推,直到找到了$num行。

实现代码如下

整个代码执行完成耗时 0. (s)

方法二

还是采用fseek的方式从文件最后开始读,但这时不是一位一位的读,而是一块一块的读,每读一块数据时,就将读取后的数据放在一个buf里,然后通过换 行符(n)的个数来判断是否已经读完最后$num行数据。

实现代码如下

整个代码执行完成耗时 0.(s)。

方法三

整个代码执行完成耗时 0.(s)

标签: php file函数

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

上一篇:php array_slice 取出数组中的一段序列实例

下一篇:php foreach如何跳出两层循环(详解)(php for each)

  • 退个税手续费增值税怎么计算
  • 税后净利润是什么意思
  • 资源税改革是什么意思
  • 利息可以抵税是什么意思
  • 可转债中签后怎么操作卖出
  • 转让费和押金的区别
  • 企业违约金收入会计分录
  • 建筑简易征收需要成本发票吗
  • 股票发行费用属于资本成本中的筹资费用
  • 一般纳税人的税务筹划
  • 发票中奖要交税吗
  • 试驾车抵税
  • 无形资产除了专利还有什么
  • 帮别的公司做账的叫什么公司
  • 纳税营业额包含免税营业额吗?
  • 一个月计提2个月工资
  • 个人在电商平台购买跨境商品需要缴纳什么税
  • 土地转让差额征税开票及申报表填写
  • 税务局查账征收转为核定征收之程序
  • 什么情况下一般疑问句用do
  • 小规模纳税人应纳税额的计算
  • 清算汇缴报表填写模板
  • 一般纳税人具备的资格需要哪些条件
  • 个税返还怎样申请退税
  • 解除租赁合同可以退押金吗
  • 公司如何为员工缴纳社保
  • 申请开立临时存档的条件
  • 收到的出口退税款需要并入利润总额吗
  • 如何解决win10关机后usb还在供电
  • 关于已开发票收到部分款项风险温馨提示
  • 附有退货条款的销售
  • 公司法人向公司借款未还,公司可以倒闭吗
  • PHP:pg_lo_tell()的用法_PostgreSQL函数
  • 进程mmc.exe
  • php教程全集
  • 人力资源规划系统包括哪些主要内容
  • php共享内存用法有哪些
  • 设备销售合作协议书范本
  • 微信小程序完整授权
  • 发票融资会计处理
  • 人力资源管理公务员岗位
  • 垃圾处置费的收费标准
  • 织梦不更新了
  • 一般纳税人增值税税率
  • 个体户开发票超过定额是如何交税?
  • 所得税费用可以计入税金及附加吗
  • 年终奖个人所得税税率表
  • 合营企业和联营企业都是权益法吗
  • 外贸出口备案需准备什么资料
  • 存货是指企业在生产经营过程中为销售或耗用
  • 租赁公司租赁物计入什么会计科目
  • 发票红冲操作流程
  • 注册公司时的注册资金认缴是什么意思
  • 政府会计制度收回多发工资
  • 小企业无形资产取得的账务处理
  • 企业间借贷是否合法2018
  • 装修公司做账涉及科目
  • 出纳提取现金的业务流程
  • 实际利率 会计
  • 预付差旅费属于什么类型
  • 建账的要点及应注意的问题
  • 企业建账流程图
  • 建账的基本原则包括
  • 新建工业企业要考虑到什么
  • 数据库服务器配置方案
  • msi安装错误代码2503
  • centos7 home
  • openbsd 6.9
  • c盘满了怎么释放空间
  • mac开机密码怎么取消
  • 车钥匙失灵了10秒教你快速解决
  • html上拉加载更多
  • Extjs中DisplayField的日期或者数字格式化扩展
  • jquery实现图片懒加载
  • css自学
  • Unity3D游戏开发培训课程大纲
  • js区分浏览器页面大小
  • nodejs orm框架
  • python的删除命令
  • 纳税服务理念2023
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设