php 使用file_get_contents读取大文件的方法


Posted in PHP onNovember 13, 2014

当我们遇到文本文件体积很大时,比如超过几十M甚至几百M几G的大文件,用记事本或者其它编辑器打开往往不能成功,因为他们都需要把文件内容全部放到内存里面,这时就会发生内存溢出而打开错误,遇到这种情况我们可以使用PHP的文件读取函数file_get_contents()进行分段读取。

函数说明
string file_get_contents ( string $filename [, bool $use_include_path [, resource $context [, int $offset [, int $maxlen ]]]] )
和 file() 一样,只除了 file_get_contents() 把文件读入一个字符串。将在参数 offset 所指定的位置开始读取长度为 maxlen 的内容。如果失败,file_get_contents() 将返回 FALSE。

file_get_contents() 函数是用来将文件的内容读入到一个字符串中的首选方法。如果操作系统支持还会使用内存映射技术来增强性能。

应用:

$str = $content=file_get_contents("2.sql",FALSE,NULL,1024*1024,1024);

echo $str;

如果针对较小文件只是希望分段读取并以此读完可以使用fread()函数

$fp=fopen('2.sql','r');

while (!feof($fp)){

$str.=fread($fp, filesize ($filename)/10);//每次读出文件10分之1

//进行处理

}
echo $str;

以上就是如何使用file_get_contents函数读取大文件的方法,超级简单吧,需要的小伙伴直接搬走!

PHP 相关文章推荐
php daddslashes()和 saddslashes()有哪些区别分析
Oct 26 PHP
数组与类使用PHP的可变变量名需要的注意的问题
Jun 20 PHP
php stripslashes和addslashes的区别
Feb 03 PHP
phpExcel中文帮助手册之常用功能指南
Aug 18 PHP
PHP实现设计模式中的抽象工厂模式详解
Oct 11 PHP
PHP curl CURLOPT_RETURNTRANSFER参数的作用使用实例
Feb 07 PHP
php实现字符串首字母大写和单词首字母大写的方法
Mar 14 PHP
Yii中CGridView实现批量删除的方法
Dec 28 PHP
PHP对象链式操作实现原理分析
Oct 09 PHP
PHP数据的提交与过滤基本操作实例详解
Nov 11 PHP
PHP实现数据库的增删查改功能及完整代码
Apr 18 PHP
php实现的数组转xml案例分析
Sep 28 PHP
php合并数组中相同元素的方法
Nov 13 #PHP
php魔术变量用法实例详解
Nov 13 #PHP
html静态页面调用php文件的方法
Nov 13 #PHP
PHP动态页生成静态页的3种常用方法
Nov 13 #PHP
PHP使用json_encode函数时不转义中文的解决方法
Nov 12 #PHP
php5.3提示Function ereg() is deprecated Error问题解决方法
Nov 12 #PHP
PHP中file_exists()判断中文文件名无效的解决方法
Nov 12 #PHP
You might like
php设计模式之单例模式使用示例
2014/01/20 PHP
PHP判断来访是搜索引擎蜘蛛还是普通用户的代码小结
2015/09/14 PHP
通过源码解析Laravel的依赖注入
2018/01/22 PHP
PHP simplexml_load_file()函数讲解
2019/02/03 PHP
laravel Task Scheduling(任务调度)在windows下的使用详解
2019/10/22 PHP
php中使用array_filter()函数过滤数组实例讲解
2021/03/03 PHP
动态控制Table的js代码
2007/03/07 Javascript
把文本中的URL地址转换为可点击链接的JavaScript、PHP自定义函数
2014/07/29 Javascript
Node.js 服务器端应用开发框架 -- Hapi.js
2014/07/29 Javascript
JavaScript必知必会(十) call apply bind的用法说明
2016/06/08 Javascript
js面向对象编程总结
2017/02/16 Javascript
基于JavaScript实现滑动门效果
2017/03/16 Javascript
jQuery实现的动态文字变化输出效果示例【附演示与demo源码下载】
2017/03/24 jQuery
用vue和node写的简易购物车实现
2017/04/25 Javascript
使用Angular CLI生成路由的方法
2018/03/24 Javascript
vue.js实现点击后动态添加class及删除同级class的实现代码
2018/04/04 Javascript
微信小程序实现单选功能
2018/10/30 Javascript
Vue 2.0 侦听器 watch属性代码详解
2019/06/19 Javascript
NodeJs 模仿SIP话机注册的方法
2019/06/21 NodeJs
JS函数本身的作用域实例分析
2020/03/16 Javascript
Python中的Matplotlib模块入门教程
2015/04/15 Python
Python的Django框架安装全攻略
2015/07/15 Python
python结合API实现即时天气信息
2016/01/19 Python
Python中eval带来的潜在风险代码分析
2017/12/11 Python
tensorflow创建变量以及根据名称查找变量
2018/03/10 Python
打包python 加icon 去掉cmd黑窗口方法
2019/06/24 Python
flask框架路由常用定义方式总结
2019/07/23 Python
Python MongoDB 插入数据时已存在则不执行,不存在则插入的解决方法
2019/09/24 Python
使用pandas实现连续数据的离散化处理方式(分箱操作)
2019/11/22 Python
马德里著名的运动鞋商店:NOIRFONCE
2019/04/12 全球购物
Fox Racing英国官网:越野摩托车和山地自行车服装
2020/02/26 全球购物
什么是聚集索引和非聚集索引
2012/01/17 面试题
医院检讨书范文
2014/02/01 职场文书
小学生教师节演讲稿
2014/09/03 职场文书
这样写python注释让代码更加的优雅
2021/06/02 Python
Python OpenCV实现传统图片格式与base64转换
2021/06/13 Python