当我们遇到文本文件体积很大时,比如超过几十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使用fopen与file_get_contents读取文件实例分享,包括了PHP使用fopen与file_get_contents读取文件实例分享的使用技巧和注意事项,需要的朋友参考一下 php中读取文件可以使用fopen和file_get_contents这两个函数,二者之间没有本质区别,只是前者读取文件的php代码相比后者要复杂一点。本文章通过实例向大家讲解fopen和fi
本文向大家介绍php file_get_contents取文件中数组元素的方法,包括了php file_get_contents取文件中数组元素的方法的使用技巧和注意事项,需要的朋友参考一下 用file_get_contents()抓取了 这个网址上的内容 http://simonfenci.sinaapp.com/index.php?key=simon&wd=1314abc 看似好像反回的是数组
本文向大家介绍PHP读取大文件的几种方法介绍,包括了PHP读取大文件的几种方法介绍的使用技巧和注意事项,需要的朋友参考一下 读取大文件一直是一个头痛的问题,我们像使用php开发读取小文件可以直接使用各种函数实现,但一到大文章就会发现常用的方法是无法正常使用或时间太长太卡了,下面我们就一起来看看关于php读取大文件问题解决办法,希望例子能帮助到各位。 场景:PHP读取超大文件,例如1G的日志文件,我
本文向大家介绍PHP读取PPT文件的方法,包括了PHP读取PPT文件的方法的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了PHP读取PPT文件的方法。分享给大家供大家参考,具体如下: 最近做一个和FLASH有关的东西,其中就要用到在网站上看PPT就像百度,豆丁网那样可以直接在网站上读,在网上搜了半天没搜到,都是些什么安装个软件什么的,PHP网站放到空间上,谁能让你在哪装软件呢?不是在瞎扯么
问题内容: 我正在尝试使用PHP读取mp4文件,而我现在正在做的是: 但是通过这种方式,我无法跳过甚至返回,直到视频未100%加载。当然,当我直接从文件(video.mp4)中读取内容时,一切都会顺利进行。 谢谢。 问题答案: 您需要自己在PHP中实现跳过功能。这是一个代码片段,可以完成此操作。 更高的性能 请注意,这不是最有效的方法,因为整个文件都需要通过PHP进行处理,因此您只需要尝试如何进行
我不熟悉使用vertx,我正在使用vertx文件系统api来读取大文件。 但是RAM在读取时被消耗殆尽,资源在使用后甚至没有被刷新。vertx文件系统api还建议不要使用此方法读取非常大的文件,否则可能会耗尽可用的RAM。 除此之外还有其他选择吗?