PHP 实例:php 中如何在有限的内存中读取大文件
当要读取超过 80M 文件的需求,很悲剧的,不管是 file_get_content 还是 file 什么的,都
会将读取的文件一次性加载到内存中
正常情况下,我们可以使用
fseek
来读取,好处就是不会一次性读取,以下代码只适合边
取边处理的情况,不适合一次性读取一次性处理。
可以用以下办法生成测试文件
代码如下:
$file_handle
=
fopen
("./csdn.txt", "rb+");
for
(
$index1
= 1;
$index1
<= 2000000;
$index1
++) {
fwrite(
$file_handle
, ''.
$index1
."\r");
}
fclose(
$file_handle
);
读取处理代码如下:
代码如下: