位置: 编程技术 - 正文

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)

  • 酒店摆放物品是什么
  • 企业所得税几大税种
  • 横幅属于什么税收大类?
  • 发票报送日志不完整
  • 小规模纳税人需要做进项税吗
  • 销售返利的会计科目
  • 小企业会计准则和一般企业会计准则的区别
  • 残疾人就业保障金申报时间
  • 所得税可以预交吗现在
  • 基本户没有注销对法人有影响吗
  • 贸易公司成本核算不准确的后果
  • 企业支付员工一年多少钱
  • 银行缴纳印花税贷款方面哪些可以减免
  • 设备维保费税率怎么算
  • 所得税季报营业收入本年累计
  • 进料加工料件需补税的情况
  • 私营独资企业是小微企业吗
  • 红冲无票收入怎么报税
  • 连接另外一个设备
  • 固定资产合计等于固定资产账面价值吗
  • linux的命令行指的是什么
  • 兼职劳务费税率是多少
  • 销售折让负数会计分录
  • 公司员工意外险怎么买
  • 质量扣款入什么科目
  • 结转完工工程成本是什么
  • php事物
  • 企业政策性拆迁资产重置算支出吗
  • php生成微信二维码
  • 在建工程转无形资产 会计准则
  • 所有者权益变动表范本
  • 那慕尔省
  • nodejs官方文档
  • gawk命令 模式扫描与处理语言
  • 买货没发票如何入账?
  • 固定资产转为投资性房地产公允价值
  • 资产减值损失属于营业外支出吗
  • 加计抵减可以补提本年的税吗
  • 空调能直接用水清洗不?
  • 影响留存收益变动的选折题
  • 金税四期对建筑行业有什么影
  • 消费税是指怎样的收入
  • 地补缴费额是什么
  • 服务业税率表
  • 劳务公司的成本有哪些
  • 增值税进项税转出有哪些
  • 事业单位零余额账户使用流程
  • 去年未分配利润 负数 结转今年
  • 企业所得税汇算清缴操作流程
  • 自建的固定资产折旧计入哪里
  • 委托加工商品属于什么资产
  • 银行回单nxt
  • 一般纳税人购入固定资产进项抵扣
  • 发票入账但是没付款有什么税务风险
  • 凭发票报销的通知简单
  • 流量对比
  • 税金及附加科目余额在借方还是贷方
  • 产品出库检验报告单格式
  • 境外机构境内外汇账户管理办法
  • sql语句的高级用法
  • mysql常见报错
  • xp复制粘贴功能失效
  • win10虚拟桌面版
  • linux pwdx命令
  • win10怎么取消禁用
  • win10rs2是哪个版本
  • windows10如何取消密码开机
  • win10系统如何设置不休眠
  • linux 卸载 mysql
  • win10预览版绿屏重启解决
  • 接入hpool
  • python网络爬虫程序
  • android中fragment
  • 可以抵扣的消费税项目
  • 华为领导班子成员名单
  • 苏州税务实名认证流程小程序
  • 200平交多少契税
  • 2018年企业所得税
  • 小微企业所得税5%优惠政策
  • 鞋类进口关税
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设