浅析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中实现进程间通讯
Oct 09 PHP
珊瑚虫IP库浅析
Feb 15 PHP
15种PHP Encoder的比较
Mar 06 PHP
使用PHP 5.0创建图形的巧妙方法
Oct 12 PHP
PHP中遍历stdclass object的实现代码
Jun 09 PHP
PHP 年龄计算函数(精确到天)
Jun 07 PHP
深入解析yii权限分级式访问控制的实现(非RBAC法)
Jun 13 PHP
PHP安全上传图片的方法
Mar 21 PHP
php+jQuery+Ajax实现点赞效果的方法(附源码下载)
Jul 21 PHP
PHP中的print_r 与 var_dump 输出数组
Jun 13 PHP
PHP7多线程搭建教程
Apr 21 PHP
php过滤htmlspecialchars() 函数实现把预定义的字符转换为 HTML 实体用法分析
Jun 25 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
php4的彩蛋
2006/10/09 PHP
深入PHP empty(),isset(),is_null()的实例测试详解
2013/06/06 PHP
PHP Ajax实现无刷新附件上传
2016/08/17 PHP
php array_values 返回数组的所有值详解及实例
2016/11/12 PHP
PHP中引用类型和值类型功能与用法示例
2019/02/26 PHP
ThinkPHP 5 AJAX跨域请求头设置实现过程解析
2020/10/28 PHP
Javascript原型链和原型的一个误区
2014/10/22 Javascript
jQuery中nextAll()方法用法实例
2015/01/07 Javascript
javascript实现日期时间动态显示示例代码
2015/09/08 Javascript
jquery+css3实现会动的小圆圈效果
2016/01/27 Javascript
仅9张思维导图帮你轻松学习Javascript 就这么简单
2016/06/01 Javascript
微信小程序 开发指南详解
2016/09/27 Javascript
详解Angular路由 ng-route和ui-router的区别
2017/05/22 Javascript
Vue.js项目中管理每个页面的头部标签的两种方法
2018/06/25 Javascript
浅谈ECMAScript 中的Array类型
2019/06/10 Javascript
layer.prompt输入层的例子
2019/09/24 Javascript
解决vue组件中click事件失效的问题
2019/11/09 Javascript
vue模块移动组件的实现示例
2020/05/20 Javascript
python监控文件或目录变化
2016/06/07 Python
python3将视频流保存为本地视频文件
2018/06/20 Python
Python同步遍历多个列表的示例
2019/02/19 Python
python3 实现的对象与json相互转换操作示例
2019/08/17 Python
Python如何根据时间序列数据作图
2020/05/12 Python
中国高端鲜花第一品牌:roseonly(一生只送一人)
2017/02/12 全球购物
美国最大的袜子制造商和零售商:Renfro Socks
2017/09/03 全球购物
GUESS Factory加拿大:牛仔裤、服装及配饰
2019/09/20 全球购物
仓库主管的岗位职责
2013/12/04 职场文书
残疾人创业典型事迹
2014/02/01 职场文书
新护士岗前培训制度
2014/02/02 职场文书
2014购房个人委托书范本
2014/10/12 职场文书
百年校庆宣传标语口号
2015/12/26 职场文书
医德医风学习心得体会
2016/01/25 职场文书
基于Redis实现分布式锁的方法(lua脚本版)
2021/05/12 Redis
Java中try catch处理异常示例
2021/12/06 Java/Android
Java+swing实现抖音上的表白程序详解
2022/06/25 Java/Android
Python+pyaudio实现音频控制示例详解
2022/07/23 Python