php 使用file_get_contents读取大文件的方法
2015-01-24信息快讯网
本文介绍了在php中使用file_get_contents函数读取大文件的方法,并附上了示例以及使用小技巧,非常的实用,这里推荐给大家
当我们遇到文本文件体积很大时,比如超过几十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函数读取大文件的方法,超级简单吧,需要的小伙伴直接搬走!
ucenter通信原理分析
Zend Guard使用指南及问题处理
PHP中使用CURL获取页面title例子
PHP中使用SimpleXML检查XML文件结构实例
php中fsockopen用法实例
php使用google地图应用实例
php读取mssql的ntext字段返回值为空的解决方法
php连接oracle数据库及查询数据的方法
为PHP5.4开启Zend OPCode缓存
CentOS6.5 编译安装lnmp环境
php提示Failed to write session data错误的解决方法
PHP中使用file_get_contents抓取网页中文乱码问题解决方法
php中get_meta_tags()、CURL与user-agent用法分析
php使用pdo连接报错Connection failed SQLSTATE的解决方法
jQuery Mobile + PHP实现文件上传
PHP中__FILE__、dirname与basename用法实例分析
dedecms中使用php语句指南
php合并数组中相同元素的方法
PHP使用json_encode函数时不转义中文的解决方法
PHP中file_exists()判断中文文件名无效的解决方法
PHP之sprintf函数用法详解
php中simplexml_load_file函数用法实例
php下foreach提示Warning:Invalid argument supplied for foreach()的解决方法
PHP文件上传判断file是否己选择上传文件的方法
php中file_get_contents与curl性能比较分析
php采用file_get_contents代替使用curl实例
PHP has encountered a Stack overflow问题解决方法