浅析php中如何在有限的内存中读取大文件


Posted in PHP onJuly 02, 2013

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

$file_handle = fopen("./csdn.txt", "rb+");
for ($index1 = 1; $index1 <= 2000000; $index1++) {
    fwrite($file_handle, 'http://3water.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 相关文章推荐
六酷社区论坛HOME页清新格调免费版 下载
Mar 07 PHP
使用NetBeans + Xdebug调试PHP程序的方法
Apr 12 PHP
简单的PHP多图上传小程序代码
Jul 17 PHP
探讨方法的重写(覆载)详解
Jun 08 PHP
mcrypt启用 加密以及解密过程详细解析
Aug 07 PHP
PHP 验证码不显示只有一个小红叉的解决方法
Sep 30 PHP
ThinkPHP字符串函数及常用函数汇总
Jul 18 PHP
Laravel 4.2 中队列服务(queue)使用感受
Oct 30 PHP
PHP框架Laravel的小技巧两则
Feb 10 PHP
PHP微信公众号开发之微信红包实现方法分析
Jul 14 PHP
Yii框架响应组件用法实例分析
Sep 04 PHP
Laravel框架验证码类用法实例分析
Sep 11 PHP
解析PHP 5.5 新特性
Jul 02 #PHP
php仿QQ验证码的实例分析
Jul 01 #PHP
计算php页面运行时间的函数介绍
Jul 01 #PHP
php 地区分类排序算法
Jul 01 #PHP
解析PHP跳出循环的方法以及continue、break、exit的区别介绍
Jul 01 #PHP
php 常用算法和时间复杂度
Jul 01 #PHP
关于php循环跳出的问题
Jul 01 #PHP
You might like
PHP 服务器配置(使用Apache及IIS两种方法)
2009/06/01 PHP
php设计模式 Observer(观察者模式)
2011/06/26 PHP
PHP PDOStatement::setAttribute讲解
2019/02/01 PHP
php 多个变量指向同一个引用($b = &amp;$a)用法分析
2019/11/13 PHP
解决IE下select标签innerHTML插入option的BUG(兼容IE,FF,Opera,Chrome,Safari)
2010/05/13 Javascript
高效率JavaScript编写技巧整理
2013/08/23 Javascript
js数组中如何随机取出一个值
2014/06/13 Javascript
jQuery获取URL请求参数的方法
2015/07/18 Javascript
阻止表单提交按钮多次提交的完美解决方法
2016/05/16 Javascript
JS弹出窗口插件zDialog简单用法示例
2016/06/12 Javascript
JavaScript实现动态增删表格的方法
2017/03/09 Javascript
vue增删改查的简单操作
2017/07/15 Javascript
使用vue-router与v-if实现tab切换遇到的问题及解决方法
2018/09/07 Javascript
JS数组扁平化、去重、排序操作实例详解
2020/02/24 Javascript
vue动态渲染svg、添加点击事件的实现
2020/03/13 Javascript
JavaScript实现音乐导航效果
2020/11/19 Javascript
[00:32]2018DOTA2亚洲邀请赛VG出场
2018/04/03 DOTA
[01:16]DOTA2小知识课堂 Ep.03 芒果树无伤肉山
2019/12/05 DOTA
python实现图像识别功能
2018/01/29 Python
appium+python adb常用命令分享
2020/03/06 Python
Django Auth用户认证组件实现代码
2020/10/13 Python
详解css3使用transform出现字体模糊的解决办法
2020/10/16 HTML / CSS
HTMl5的存储方式sessionStorage和localStorage详解
2014/03/18 HTML / CSS
英国高级百货公司:Harvey Nichols
2017/01/29 全球购物
法国二手MacBook销售网站:Okamac
2019/03/18 全球购物
精选鞋类、服装和配饰的全球领先目的地:Bodega
2021/02/27 全球购物
Pandora西班牙官方商店:PandoraShop.es
2020/10/05 全球购物
大学生就业自我鉴定
2013/10/26 职场文书
体育教育专业毕业生自荐信
2013/11/15 职场文书
信息技术专业大学生职业生涯规划书
2014/01/24 职场文书
家具促销活动方案
2014/02/16 职场文书
班级寄语大全
2014/04/10 职场文书
小学生我的梦想演讲稿
2014/08/21 职场文书
法定代表人资格证明书
2014/09/11 职场文书
解决redis sentinel 频繁主备切换的问题
2021/04/12 Redis
MySQL数据库如何给表设置约束详解
2022/03/13 MySQL