位置: 编程技术 - 正文

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)

  • 股权转让印花税税率
  • 增值税发票的红章压到金额没有关系吧
  • 宣传费属于什么税目
  • 车票抵扣怎么做账
  • 收到货物损失赔偿标准
  • 酒店出租会议室增值税税率
  • 企业新增固定资产流程图
  • 证券公司清算交收
  • 出让固定资产怎样计算增值税
  • 利率与股价的计算方法
  • 冲减管理费用是红字还是在贷方
  • 专项产资金支出要怎么做分录?
  • 工程预付款的规定
  • 小规模纳税人怎么判断
  • 项目部管理人员及作业人员的
  • 纳税人财务核算及申报纳税情况报告
  • 二甲醚增值税税率9%
  • 小区物业宿舍
  • 老板带员工出去吃饭
  • 退关税怎么入账
  • 公司为员工承担房租
  • win10 多屏协同
  • 工程机械设备租赁价格
  • php实现搜索的方式
  • php i
  • 增值税进项税转出文件
  • php each list
  • vue路由跳转原理
  • 销售产品的运输费属于什么会计科目
  • 旅游业纳税筹划方案
  • 企业合并发生的交易费用
  • 残疾人就业保障金计入什么科目
  • zendstudio写好程序怎样运行
  • vue框架总结
  • 前端必会
  • 交易性金融资产的入账价值
  • 什么是企业管理的首要职能
  • 业务预算包括直销费用吗
  • syslog ng
  • 资产类账户有哪些
  • 公司小规模纳税人转为一般纳税人,需要签补充协议吗
  • 营改增一般纳税人简易征收的范围
  • 文件柜质量标准
  • 网上商城功能
  • 所得税调增调减技巧
  • 扣员工工作服费用合法吗?
  • 建筑劳务公司的税率是多少
  • 施工单位名称变更需不需要单独做一个联络函
  • 收到捐赠的账务处理和涉税处理
  • 留抵会计分录
  • 实物投资需要缴纳增值税吗
  • 在企业中的应用
  • 什么情况下要暂扣驾驶证
  • 坏账准备转回是什么意思
  • 改制后的企业
  • win mysql
  • vssvc.exe
  • ubuntu系统中怎么安装mathematica13.1.0
  • 360rps.exe
  • win10预览版和正式版
  • win10手机版微信uwp下载
  • xp管理员账号密码
  • win8的应用商店在哪
  • kworker进程如何解决
  • win10禁止显卡驱动自动安装
  • win10网速特别慢
  • cocos creator js教程
  • ES6 javascript的异步操作实例详解
  • 帝国cms列表页隐藏部分文章
  • 阿里云ecs keepalived
  • 最简单的游戏开发工具
  • 游戏开发u3d
  • jQuery使用ajax方法解析返回的json数据功能示例
  • 用python简单代码
  • js函数的声明方式
  • python,多线程
  • 贷款利息收入增值税税率2023
  • 个体工商户税务申报怎么操作流程
  • 加油站怎么收税
  • 浙江国税网上报税
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设