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数据库操作面向对象的优点
Oct 09 PHP
Zend 输出产生XML解析错误
Mar 03 PHP
php 错误处理经验分享
Oct 11 PHP
php环境配置之CGI、FastCGI、PHP-CGI、PHP-FPM、Spawn-FCGI比较?
Oct 17 PHP
PHP下获取上个月、下个月、本月的日期(strtotime,date)
Feb 02 PHP
PHP获取文件扩展名的方法实例总结
Jun 10 PHP
php封装单文件上传到数据库(路径)
Oct 15 PHP
PHP mongodb操作类定义与用法示例【适合mongodb2.x和mongodb3.x】
Jun 16 PHP
thinkPHP5框架auth权限控制类与用法示例
Jun 12 PHP
php微信公众号开发之欢迎老朋友
Oct 20 PHP
phpinfo无法显示的原因及解决办法
Feb 15 PHP
TP5多入口设置实例讲解
Dec 15 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 三维饼图的实现代码
2008/09/28 PHP
PHP生成随机用户名和密码的实现代码
2013/02/27 PHP
探讨PHP使用eAccelerator的API开发详解
2013/06/09 PHP
跟我学Laravel之请求(Request)的生命周期
2014/10/15 PHP
php中cookie实现二级域名可访问操作的方法
2014/11/11 PHP
Laravel中的Blade模板引擎示例详解
2017/10/10 PHP
PHP笛卡尔积实现算法示例
2018/07/30 PHP
PHP精确到毫秒秒杀倒计时实例详解
2019/03/14 PHP
js获取class的所有元素
2013/03/28 Javascript
一个很有趣3D球状标签云兼容IE8
2014/08/22 Javascript
Jquery 实现图片轮换
2015/01/28 Javascript
AngularJS 简单应用实例
2016/07/28 Javascript
JavaScript中捕获与冒泡详解及实例
2017/02/03 Javascript
angular 用拦截器统一处理http请求和响应的方法
2017/06/08 Javascript
利用jsonp与代理服务器方案解决跨域问题
2017/09/14 Javascript
微信小程序自定义组件之可清除的input组件
2018/07/17 Javascript
DatePickerDialog 自定义样式及使用全解
2019/07/09 Javascript
python的else子句使用指南
2016/02/27 Python
Python解析并读取PDF文件内容的方法
2018/05/08 Python
python实现泊松图像融合
2018/07/26 Python
Python Web框架之Django框架文件上传功能详解
2019/08/16 Python
基于python traceback实现异常的获取与处理
2019/12/13 Python
python利用datetime模块计算程序运行时间问题
2020/02/20 Python
python脚本定时发送邮件
2020/12/22 Python
使用Python快速打开一个百万行级别的超大Excel文件的方法
2021/03/02 Python
CSS3轻松实现清新 Loading 效果的简单实例
2016/06/06 HTML / CSS
英国最大的女士服装零售商:Bonmarché
2017/08/17 全球购物
巴西宠物商店:Cobasi
2019/04/19 全球购物
文秘专业个人求职信
2013/12/22 职场文书
鲜花方阵解说词
2014/02/13 职场文书
大学生考试作弊检讨书
2014/09/21 职场文书
开除员工通知
2015/04/22 职场文书
中学感恩教育活动总结
2015/05/05 职场文书
Python实现简单的俄罗斯方块游戏
2021/09/25 Python
使用Ajax实现无刷新上传文件
2022/04/12 Javascript
六个好看实用的 HTML + CSS 后台登录入口页面
2022/04/28 HTML / CSS