位置: 编程技术 - 正文

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)

  • 过头税产生的根源
  • 经营性现金流量净额是什么意思
  • 小规模纳税人可以开1%的专票吗
  • 电子税务局上财务制度备案错误是啥意思
  • 公共绿地绿化
  • 委托加工和进口加工区别
  • 未实际处置资产怎么处理
  • 一般纳税人城建税怎么计算
  • 汇算清缴抵税和退税
  • 收到采购商品
  • 企业销售商品的业务有什么特点
  • 补交社保后的个税怎么交
  • 建筑企业在实施安全检查时,必须严格执行
  • 计提所得税是在哪个科目
  • 2018一般纳税人印花税减半吗
  • 增值税发票每个月什么时候可以开
  • 分公司交总公司管理费怎么做账
  • 电子发票转收入怎么做为记账凭证?
  • 合伙项目如何进行分红
  • 工资一年发一次合法吗
  • 工商年报网上申报要钱吗
  • 或有负债披露原则
  • win7系统如何查看主板型号
  • 建筑工程购买的家用清洁电器能勾选认证吗
  • 会计基础工作是会计工作的基本环节
  • 快捷方式都变成pdf
  • 收到员工罚款分录怎么记账
  • 固定资产更新改造期间提折旧吗
  • 增值税进项税转出文件
  • 建筑企业跨区域还需预缴增值税吗
  • 东洛锡安的金黄麦田,苏格兰 (© Scott Masterton/plainpicture)
  • php生成颜色面板
  • auto.js 逆向
  • 用支付宝支付的游戏
  • html前端技术
  • php yield 异步
  • 小规模申报增值税减免税申报明细表
  • 织梦cms要钱吗
  • 上传图片php
  • 小规模企业免征增值税如何申报
  • 如何设置长期有效的二维码
  • 高新企业奖励金怎么开票
  • 借款与报销流程设计
  • 房地产开发公司注册资金要求
  • 夏天单位发防暑茶
  • 股权变更的股东个税缴纳
  • 个体户一个月能赚多少钱
  • 确认收入一定要交增值税吗
  • 事业单位收费可以收取相关服务费吗
  • 计提资产减值准备会计科目
  • 对账簿设置的要求是什么
  • win2008如何安装telnet
  • macbook安装ghost win10
  • centos更新yum update
  • u盘启动pe工具
  • 电脑怎样进入安全模式
  • windowsxp网页打不开怎么办
  • linux mount -o remount
  • centos下安装gcc
  • 彻底禁止win11自动更新
  • Linux中stat命令显示文件的基本使用教程
  • centos cpu 内存
  • awk中使用sed
  • win7怎样关闭ie浏览器
  • windows8锁屏
  • linux安装迅雷
  • shell基础教程
  • jquery设置禁用
  • shell 读取文件中的每一行并存储到数组
  • javascript入门基础
  • jquery 遍历
  • 电子税务局如何下载财务报表
  • 土地增值税鉴证业务的流程
  • 20年灵活就业人员社保新标准
  • 如何开通税务系统
  • 土地增值税网上申报流程
  • 我国税制结构是怎样的
  • 企业税费如何计算
  • 深圳代理记账公司赚钱吗
  • 港澳台人士可以在上海申请积分吗
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设