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 相关文章推荐
第九节 绑定 [9]
Oct 09 PHP
php将数据库中所有内容生成静态html文档的代码
Apr 12 PHP
php设计模式 Singleton(单例模式)
Jun 26 PHP
PHP-Fcgi下PHP的执行时间设置方法
Aug 02 PHP
web server使用php生成web页面的三种方法总结
Oct 28 PHP
php生成随机颜色的方法
Nov 13 PHP
百度工程师讲PHP函数的实现原理及性能分析(二)
May 13 PHP
浅谈COOKIE和SESSION区别
Jul 19 PHP
php实现微信公众号主动推送消息
Dec 31 PHP
WordPress中给媒体文件添加分类和标签的PHP功能实现
Dec 31 PHP
thinkphp3.x中display方法及show方法的用法实例
May 19 PHP
PHP设计模式之模板模式定义与用法详解
Dec 20 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
ThinkPHP中session函数详解
2016/09/14 PHP
PHP使用POP3读取邮箱接收邮件的示例代码
2020/07/08 PHP
静态图片的十一种滤镜效果--不支持Ie7及非IE浏览器。
2007/03/06 Javascript
javascript 导出数据到Excel(处理table中的元素)
2009/12/18 Javascript
不使用中间变量,交换int型的 a, b两个变量的值。
2010/10/29 Javascript
Chrome中JSON.parse的特殊实现
2011/01/12 Javascript
javascript结合html5 canvas实现(可调画笔颜色/粗细/橡皮)的涂鸦板
2013/04/27 Javascript
基于zepto.js实现仿手机QQ空间的大图查看组件ImageView.js详解
2015/03/05 Javascript
javascript实现跨域的方法汇总
2015/06/25 Javascript
js实现带缓冲效果的仿QQ面板折叠菜单代码
2015/09/06 Javascript
easyui validatebox验证
2016/04/29 Javascript
jQuery回到顶部的代码
2016/07/09 Javascript
javascript鼠标跟随运动3种效果(眼球效果,苹果菜单,方向跟随)
2016/10/27 Javascript
HTML5基于Tomcat 7.0实现WebSocket连接并实现简单的实时聊天
2016/10/31 Javascript
Vue.js路由组件vue-router使用方法详解
2016/12/02 Javascript
EasyUI创建人员树的实例代码
2017/09/15 Javascript
基于cropper.js封装vue实现在线图片裁剪组件功能
2018/03/01 Javascript
微信小程序之分享页面如何返回首页的示例
2018/03/28 Javascript
8个有意思的JavaScript面试题
2019/07/30 Javascript
python PIL模块与随机生成中文验证码
2016/02/27 Python
如何在python中使用selenium的示例
2017/12/26 Python
Python图像处理之图像的读取、显示与保存操作【测试可用】
2019/01/04 Python
python2和python3在处理字符串上的区别详解
2019/05/29 Python
Python用Try语句捕获异常的实例方法
2019/06/26 Python
python点击鼠标获取坐标(Graphics)
2019/08/10 Python
IronPython连接MySQL的方法步骤
2019/12/27 Python
python实现五子棋游戏(pygame版)
2020/01/19 Python
详解python如何引用包package
2020/06/07 Python
Python实现弹球小游戏
2020/08/01 Python
Python eval函数介绍及用法
2020/11/09 Python
获取邓白氏信用报告:Dun & Bradstreet
2019/01/22 全球购物
世界上最伟大的马产品:Equiderma
2020/01/07 全球购物
一套VC试题
2015/01/23 面试题
应聘收银员个人的求职信
2013/11/30 职场文书
2015年双拥工作总结
2015/04/08 职场文书
文明礼仪倡议书
2015/04/28 职场文书