我是靠谱客的博主 威武黄蜂,最近开发中收集的这篇文章主要介绍浅析php中如何在有限的内存中读取大文件,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

正常情况下,我们可以使用fseek来读取,好处就是不会一次性读取,以下代码只适合边取边处理的情况,不适合一次性读取一次性处理。
可以用以下办法生成测试文件

复制代码 代码如下:

$file_handle = fopen("./csdn.txt", "rb+");
for ($index1 = 1; $index1 <= 2000000; $index1++) {
    fwrite($file_handle, 'http://uoften.com'.$index1."\r");
}
fclose($file_handle);

读取处理代码如下:
复制代码 代码如下:

$i = 0;
$now = '';
while ($i >= 0) {
    if ($i>10) {
        break;
    }
    fseek($file_handle, 0, SEEK_CUR);
    $now = fgetc($file_handle);//可以自己写个判断false表示文件到头
    if ($now == "\r") {
        echo '找到断点';
    }
    echo $now;
    $i++;
}
fclose($file_handle);

最后

以上就是威武黄蜂为你收集整理的浅析php中如何在有限的内存中读取大文件的全部内容,希望文章能够帮你解决浅析php中如何在有限的内存中读取大文件所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(1550)

评论列表共有 0 条评论

立即
投稿
返回
顶部