首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

file_get_contents读取大文件

今天遇到一个关于php读取超大文件的问题,当我们遇到文本体积较大时,比如超过几十M甚至几G的大文件,这时候直接读取很容易发生内存溢出的错误,这是因为此操作会把文件内容全部放到内存当中,这时我们就需要用到file_get_contents()进行分段读取。

函数说明

file_get_contents() 函数把整个文件读入一个字符串中。

和 file() 一样,不同的是 file_get_contents() 把文件读入一个字符串。

file_get_contents() 函数是用于将文件的内容读入到一个字符串中的首选方法。如果操作系统支持,还会使用内存映射技术来增强性能。

应用

$fp=fopen('xx.sql','r');

while (!feof($fp)){

$str.=fread($fp, filesize ($filename)/10);//每次读出文件10分之1//进行处理

}

echo $str;

希望对你有所帮助~

  • 发表于:
  • 原文链接http://kuaibao.qq.com/s/20180320G1R1AG00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券