php实现读取超大文件的方法
网络编程 2021-07-05 09:50www.168986.cn编程入门
这篇文章主要介绍了php实现读取超大文件的方法,需要的朋友可以参考下
通常来说在php读取大文件的时候,我们采用的方法一般是一行行来讲取,而不是一次性把文件全部写入内存中,这样会导致php程序卡死,狼蚁网站SEO优化就给大家介绍这样一个例子。
读取大文件几行数据
<?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("aess.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; ?>
读者可以根据该实例特点加以改进和完善,使之更加符合自身应用需求。
编程语言
- 如何快速学会编程 如何快速学会ug编程
- 免费学编程的app 推荐12个免费学编程的好网站
- 电脑怎么编程:电脑怎么编程网咯游戏菜单图标
- 如何写代码新手教学 如何写代码新手教学手机
- 基础编程入门教程视频 基础编程入门教程视频华
- 编程演示:编程演示浦丰投针过程
- 乐高编程加盟 乐高积木编程加盟
- 跟我学plc编程 plc编程自学入门视频教程
- ug编程成航林总 ug编程实战视频
- 孩子学编程的好处和坏处
- 初学者学编程该从哪里开始 新手学编程从哪里入
- 慢走丝编程 慢走丝编程难学吗
- 国内十强少儿编程机构 中国少儿编程机构十强有
- 成人计算机速成培训班 成人计算机速成培训班办
- 孩子学编程网上课程哪家好 儿童学编程比较好的
- 代码编程教学入门软件 代码编程教程