浅析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 相关文章推荐
php下intval()和(int)转换使用与区别
Jul 18 PHP
php park、unpark、ord 函数使用方法(二进制流接口应用实例)
Oct 19 PHP
PHP文章采集URL补全函数(FormatUrl)
Aug 02 PHP
php单例模式实现(对象只被创建一次)
Dec 05 PHP
详解PHP导入导出CSV文件
Nov 03 PHP
分享3个php获取日历的函数
Sep 25 PHP
PHP和C#可共用的可逆加密算法详解
Oct 26 PHP
php+ajax简单实现全选删除的方法
Dec 06 PHP
phpcms的分类名称和类别名称的调用
Jan 05 PHP
Symfony2针对输入时间进行查询的方法分析
Jun 28 PHP
PHP实现UTF8二进制及明文字符串的转化功能示例
Nov 20 PHP
使用swoole 定时器变更超时未支付订单状态的解决方案
Jul 24 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中intval()等int转换时的意外异常情况
2013/06/21 PHP
php操作MongoDB基础教程(连接、新增、修改、删除、查询)
2014/03/25 PHP
PHP实现创建微信自定义菜单的方法示例
2017/07/14 PHP
Laravel 创建可以传递参数 Console服务的例子
2019/10/14 PHP
PHP操作Redis常用命令的实例详解
2020/12/23 PHP
JavaScript 内置对象属性及方法集合
2010/07/04 Javascript
js实现目录定位正文示例
2013/11/14 Javascript
JavaScript的strict模式与with关键字介绍
2014/02/08 Javascript
使用jQuery管理选择结果
2015/01/20 Javascript
jquery动态改变div宽度和高度
2015/02/09 Javascript
jQuery基于cookie实现的购物车实例分析
2015/12/24 Javascript
js添加绑定事件的方法
2016/05/15 Javascript
jQuery实现复制到粘贴板功能
2017/02/11 Javascript
详谈表单格式化插件jquery.serializeJSON
2017/06/23 jQuery
JS获取数组中出现次数最多及第二多元素的方法
2017/10/27 Javascript
Vue v2.4中新增的$attrs及$listeners属性使用教程
2018/01/08 Javascript
JS基于开关思想实现的数组去重功能【案例】
2019/02/18 Javascript
vue2.x 对象劫持的原理实现
2020/04/19 Javascript
[01:25]DOTA2自定义游戏灵园鬼域等你踏足
2015/10/30 DOTA
[42:25]EG vs Spirit Supermajor 败者组 BO3 第二场 6.4
2018/06/05 DOTA
Python语言的面相对象编程方式初步学习
2016/03/12 Python
MAC中PyCharm设置python3解释器
2017/12/15 Python
windows环境下tensorflow安装过程详解
2018/03/30 Python
Python Json模块中dumps、loads、dump、load函数介绍
2018/05/15 Python
Linux下Python安装完成后使用pip命令的详细教程
2018/11/22 Python
浅析python内置模块collections
2019/11/15 Python
matplotlib.pyplot画图并导出保存的实例
2019/12/07 Python
解决pytorch下出现multi-target not supported at的一种可能原因
2021/02/06 Python
python解包用法详解
2021/02/17 Python
建筑施工员岗位职责
2013/11/26 职场文书
办公室岗位职责
2014/02/12 职场文书
食品安全处置方案
2014/06/14 职场文书
学校个人对照检查材料
2014/08/26 职场文书
工作经常出错的检讨书
2014/09/13 职场文书
2015年小学教导处工作总结
2015/05/26 职场文书
mysql 排序失效
2022/05/20 MySQL