首先我们来看一下fopen()与file()读取文件的代码:
1.fopen()函数打开文件或者 URL,然后使用fgets按行读取文件
$handle = fopen(\"/tmp/uploadfile.txt\", \"r\") or die(\"Couldn\'t get handle\");
if ($handle) {
while (!feof($handle)) {
$buffer = fgets($handle, 4096);
// Process buffer here..
/* http://www.manongjc.com/article/1418.html */
}
fclose($handle);
}
2.file() 函数把整个文件读入一个数组中
$array = file(\'/path/to/text.txt\');
下面我们来分析fopen()与file()读取大文件的效率:
分别使用fopen()与file()读取两个文件,一个是1.3GB的文件,一个是9.5G的文件;结果如下:
1.3G文件所消耗的时间:
fopen()读取文件消耗169msfile()读取文件消耗4469ms
9.5GB所消耗的时间:
fopen()读取文件消耗2532msfile()读取文件消耗7998ms
由此可知:在读取大文件的时候,file()函数比fopen函数更快,效率更高。
继续阅读与本文标签相同的文章
-
城市数字化后,新一代内生安全系统可全方位保护
2026-05-14栏目: 教程
-
谷歌也来“唱衰”5G,5G手机只会徒增功耗?为何这么说?
2026-05-14栏目: 教程
-
量子信息和量子技术白皮书合肥宣言在中科大发布
2026-05-14栏目: 教程
-
微信悄悄更新一新功能,来看看!
2026-05-14栏目: 教程
-
打破三大运营商垄断,第四大运营商终于来了!
2026-05-14栏目: 教程
