找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 992|回复: 0
打印 上一主题 下一主题

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

[复制链接]

2588

主题

2588

帖子

7694

积分

论坛元老

Rank: 8Rank: 8

积分
7694
跳转到指定楼层
楼主
发表于 2018-2-14 08:15:53 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

            正常情况下,我们可以使用fseek来读取,好处就是不会一次性读取,以下代码只适合边取边处理的情况,不适合一次性读取一次性处理。
可以用以下办法生成测试文件
[U]复制代码[/U] 代码如下:
$file_handle = fopen("./csdn.txt", "rb+");
for ($index1 = 1; $index1
读取处理代码如下:
[U]复制代码[/U] 代码如下:
$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函数memory_get_usage获取PHP内存清耗量的方法
  • PHP中使用unset销毁变量并内存释放问题
  • phpExcel导出大量数据出现内存溢出错误的解决方法
  • php页面消耗内存过大的处理办法
  • 解析PHP中的内存管理,PHP动态分配和释放内存
  • PHP变量内存分配问题记录整理
  • php出现内存位置访问无效错误问题解决方法
  • PHP脚本内存泄露导致Apache频繁宕机解决方法
  • php实现读取内存顺序号
            
  • 分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
    收藏收藏
    回复

    使用道具 举报

    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    用户反馈
    客户端