温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

使用php怎么读取超大的文件

发布时间:2020-12-25 15:41:22 阅读:158 作者:Leah 栏目:开发技术
PHP开发者专用服务器限时活动,0元免费领,库存有限,领完即止! 点击查看>>

这篇文章给大家介绍使用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($linesfgets($fp));
      }
    }
  return array_slice($lines0$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怎么读取超大的文件就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。

亿速云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

php
AI

开发者交流群×