当我们遇到⽂本⽂件体积很⼤时,⽐如超过⼏⼗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\echo $str;
如果针对较⼩⽂件只是希望分段读取并以此读完可以使⽤fread()函数复制代码 代码如下:
$fp=fopen('2.sql','r');while (!feof($fp)){
$str.=fread($fp, filesize ($filename)/10);//每次读出⽂件10分之1//进⾏处理}
echo $str;
以上就是如何使⽤file_get_contents函数读取⼤⽂件的⽅法,超级简单吧,需要的⼩伙伴直接搬⾛!
因篇幅问题不能全部显示,请点此查看更多更全内容