php 最大文件,php读取大文件最好的实现方法
php读取大文件方法我们一般是一行行来讲取而不是一次性把文件全部写入内存中了,这样会导致php程序卡死,下面给大家整理一个例子。
代码如下 | 复制代码 |
读取大文件最后几行数据: /** * 取文件最后$n行 * @param string $filename 文件路径 * @param int $n 最后几行 * @return mixed false表示有错误,成功则返回字符串 */ function FileLastLines($filename,$n){ if(!$fp=fopen($filename,’r')){ echo ”打开文件失败,请检查文件路径是否正确,路径和文件名不要包含中文”; return false; } $pos=-2; $eof=”"; $str=”"; while($n>0){ while($eof!=”n”){ if(!fseek($fp,$pos,SEEK_END)){ $eof=fgetc($fp); $pos–; }else{ break; } } $str.=fgets($fp); $eof=”"; $n–; } return $str; } echo nl2br(FileLastLines(‘sss.txt’,4)); /** * 取文件最后$n行 * @param string $filename 文件路径 * @param int $n 最后几行 * @return mixed false表示有错误,成功则返回字符串 */ function FileLastLines($filename,$n){ if(!$fp=fopen($filename,'r')){ echo "打开文件失败,请检查文件路径是否正确,路径和文件名不要包含中文"; return false; } $pos=-2; $eof=""; $str=""; while($n>0){ while($eof!="n"){ if(!fseek($fp,$pos,SEEK_END)){ $eof=fgetc($fp); $pos--; }else{ break; } } $str.=fgets($fp); $eof=""; $n--; } return $str; } echo nl2br(FileLastLines('sss.txt',4)); function tail($fp,$n,$base=5) { assert($n>0); $pos = $n 1; $lines = array(); while(count($lines)< =$n){ try{ fseek($fp,-$pos,SEEK_END); } catch (Exception $e){ fseek(0); break; } $pos *= $base; while(!feof($fp)){ array_unshift($lines,fgets($fp)); } } return array_slice($lines,0,$n); } var_dump(tail(fopen("access.log","r "),10)); $fp = fopen($file, "r"); $line = 10; $pos = -2; $t = " "; $data = ""; while ($line > 0) { while ($t != "n") { fseek($fp, $pos, SEEK_END); $t = fgetc($fp); $pos --; } $t = " "; $data .= fgets($fp); $line --; } fclose ($fp); echo $data |
php 最大文件,php读取大文件最好的实现方法相关推荐
- python 读取大文件_Python读取大文件
1. 前言 前几天在做日志分析系统,需要处理几十G的文件,我尝试用原来的for line in open(filepath).readlines()处理,但停顿好久也没变化,可见占用不小的内存.在网上 ...
- python读取文件-python读取大文件
最近在学习python的过程中接触到了python对文件的读取.python读取文件一般情况是利用open()函数以及read()函数来完成: f = open(filename,'r') f.rea ...
- python读取大文件-python读取大文件
python读取文件对各列进行索引 可以用readlines, 也可以用readline, 如果是大文件一般就用readlined={} a_in = open("testfile.txt& ...
- python导入处理txt文件-python读取大文件踩过的坑——读取txt文件词向量
在读取https://github.com/Embedding/Chinese-Word-Vectors中的中文词向量时,选择了一个有3G多的txt文件,之前在做词向量时用的是word2vec,所以直 ...
- python读取超大文件 Python读取大文件(GB)
最近处理文本文档时(文件约2GB大小),出现memoryError错误和文件读取太慢的问题,后来找到了两种比较快Large File Reading 的方法,本文将介绍这两种读取方法. 我们谈到&qu ...
- php 读取 linux 文件,PHP读取大文件,linux读取日志
工作中遇到一个问题,运营或客服经常会问一些用户使用中的问题涉及到日志查询,开始的时候来一个给查一下日志..后来发现每天都会问个五六次..没办法后来就给弄了个读日志的工具. 读着读着发现有时候会出现挂掉 ...
- fseek linux 大文件_fseek读取大文件
前辈,你们在吗? @中山野鬼 @stxy0509 能帮我看看这个问题吗? ###### @stxy0509###### 老实说,你@我之前,我就看过你这个问题,但是我觉得挺棘手的,因为我自己觉得我也 ...
- java读取 500M 以上文件,java读取大文件
设置缓存大小BUFFER_SIZE ,Config.tempdatafile是文件地址 package com.yjf.util;import java.io.File;import java.io. ...
- while和for循环读取大文件三种读取文件方式
目录 While和for循环 读写文件 三种读操作比较 read()读文件 readline()读文件 readlines()读文件 While和for循环 for循环实现猜三次年纪 age = 66 ...
最新文章
- 秒解决PHP 500的问题
- python爬取下拉列表数据_Python怎么爬取下拉式的网页?
- 三个事件同步实现双相机同步WaitForMultipleObjects
- 怎样才能快速批量绑定MAC与IP地址(图)
- android onresume时view,android – 在使用ViewPager滑动时,Fragment不会调用OnResume()
- C语言:内存的分配与管理
- 【数理统计】概率论基础回顾
- csv java 科学计数法_javaweb开发页面数字过长显示科学计数法的问题
- 将packages/apps/下的app导入eclipse
- [论文阅读] Unsupervised Domain Adaptive Salient Object Detection Through Uncertainty-Aware Pseudo-Label
- POJ 2239 匈牙利算法
- Nginx/Apache/Tomcat记录屏蔽真实IP
- POJ1061 青蛙的约会 扩展欧几里得
- 优酷暗黑模式(三):暗黑模式设计指南
- 如何制作统计报表(盈帆报表: efreprt.com)
- 分类变量logistic回归分析--1
- UTM大地坐标系与经纬度转换算法C++
- “物联网开发实战”学习笔记-(三)通过感知光线开关电灯
- git 怎么回退已经push的版本_Git版本回退
- html属于非结构化数据吗,什么是结构化数据非结构化数据和半结构化数据