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 相关文章推荐
discuz论坛 用户登录 后台程序代码
Nov 27 PHP
PHP 学习路线与时间表
Feb 21 PHP
使用PHP遍历文件目录与清除目录中文件的实现详解
Jun 24 PHP
如何使用php判断服务器是否是HTTPS连接
Jul 05 PHP
实测在class的function中include的文件中非php的global全局环境
Jul 15 PHP
php如何解决无法上传大于8M的文件问题
Mar 10 PHP
php检查日期函数checkdate用法实例
Mar 19 PHP
深入浅析PHP7.0新特征(五大新特征)
Oct 29 PHP
PHP在线打包下载功能示例
Oct 15 PHP
PHP进制转换实例分析(2,8,16,36,64进制至10进制相互转换)
Feb 04 PHP
PHP htmlspecialchars() 函数实例代码及用法大全
Sep 18 PHP
TP5框架实现上传多张图片的方法分析
Mar 29 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合并两个数组的两种方式的异同
2012/09/14 PHP
PHP扩展模块Pecl、Pear以及Perl的区别
2014/04/09 PHP
php通过文件流方式复制文件的方法
2015/03/13 PHP
Linux下源码包安装Swoole及基本使用操作图文详解
2019/04/02 PHP
JavaScript 页面坐标相关知识整理
2010/01/09 Javascript
在Javascript中 声明时用"var"与不用"var"的区别
2013/04/15 Javascript
javascript自动改变文字大小和颜色的效果的小例子
2013/08/02 Javascript
JavaScript中创建类/对象的几种方法总结
2013/11/29 Javascript
javascript读取xml实现javascript分页
2013/12/13 Javascript
原生js配合cookie制作保存路径的拖拽
2015/12/29 Javascript
jQuery on()方法绑定动态元素的点击事件无响应的解决办法
2016/07/07 Javascript
有趣的bootstrap走动进度条
2016/12/01 Javascript
Vue渲染函数详解
2017/09/15 Javascript
JS实现显示当前日期的实例代码
2018/07/03 Javascript
vue基于element-ui的三级CheckBox复选框功能的实现代码
2018/10/15 Javascript
浅入深出Vue之组件使用
2019/07/11 Javascript
layui 根据后台数据动态创建下拉框并同时默认选中的实例
2019/09/02 Javascript
微信小程序中使用 async/await的方法实例分析
2020/05/06 Javascript
vue实例的选项总结
2020/06/09 Javascript
python类继承与子类实例初始化用法分析
2015/04/17 Python
浅析Python多线程下的变量问题
2015/04/28 Python
Python 中迭代器与生成器实例详解
2017/03/29 Python
详解python中的 is 操作符
2017/12/26 Python
selenium+python实现自动化登录的方法
2018/09/04 Python
Pycharm中import torch报错的快速解决方法
2020/03/05 Python
Python 防止死锁的方法
2020/07/29 Python
python爬取微博评论的实例讲解
2021/01/15 Python
CSS3 @media的基本用法总结
2019/09/10 HTML / CSS
巴西最大的家电和百货零售商:Casas Bahia
2016/11/22 全球购物
梅西百货官网:Macy’s
2020/08/04 全球购物
应届生妇产科护士求职信
2013/10/27 职场文书
经济信息系毕业生自荐信
2014/06/02 职场文书
高考标语大全
2014/06/05 职场文书
中学清明节活动总结
2014/07/04 职场文书
课外活动总结范文
2014/07/09 职场文书
2015年村党支部工作总结
2015/04/30 职场文书