亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

PHP 讀取大文件并顯示的簡單實例(推薦)

 更新時間:2016年08月12日 10:54:26   投稿:jingxian  
下面小編就為大家?guī)硪黄狿HP 讀取大文件并顯示的簡單實例(推薦)。小編覺得挺不錯的,現在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧

使用PHP讀取日志文件,當文件比較大的時候,會報內存不足,因此應該部分讀取,讀取指定的行數的數據

PHP代碼:

<?php
class Test{
  //日志路徑
  const LOG_PATH="E:\phpServer\Apache\logs\error.log";
  const NGINX_LOG_PATH="E:\phpServer\\nginx\logs\error.log";
  //顯示的行數
  const PAGES=50;
  public static function main(){
    header("content-type:text/html;charset=utf-8");
    
    if(!empty($_GET['action'])){
      self::$_GET['action']();
      exit;
    }
  }

  public static function showApacheLogs(){
    $test=new Test();
    $result=$test->readLogs(self::LOG_PATH,self::PAGES);
    $html="";
    foreach($result as $line){
      if(strpos($line,"error:")){
        $line="<font color='red'>".$line."</font>";
      }
      $html.="<div class='line'>".$line."<div>";
    }
    echo $html;
  }
  public static function showNginxLogs(){
    $test=new Test();
    $result=$test->readLogs(self::NGINX_LOG_PATH,self::PAGES);
    $html="";
    foreach($result as $line){
      if(strpos($line,"error")){
        $line="<font color='red'>".$line."</font>";
      }
      $html.="<div class='line'>".$line."<div>";
    }
    echo $html;
  }
  /**
  * 讀取日志
  */
  private function readLogs($filePath,$num=20){
    $fp = fopen($filePath,"r");
    $pos = -2; 
    $eof = ""; 
    $head = false;  //當總行數小于Num時,判斷是否到第一行了 
    $lines = array(); 
    while($num>0){ 
      while($eof != "\n"){ 
        if(fseek($fp, $pos, SEEK_END)==0){  //fseek成功返回0,失敗返回-1 
          $eof = fgetc($fp); 
          $pos--; 
        }else{                //當到達第一行,行首時,設置$pos失敗 
          fseek($fp,0,SEEK_SET); 
          $head = true;          //到達文件頭部,開關打開 
          break; 
        } 
         
      } 
      array_unshift($lines,fgets($fp)); 
      if($head){ break; }         //這一句,只能放上一句后,因為到文件頭后,把第一行讀取出來再跳出整個循環(huán) 
      $eof = ""; 
      $num--; 
    } 
    fclose($fp); 
    return array_reverse($lines); 
  }
}
Test::main();
?>
<style type="text/css">
*{
  padding: 0;
  margin: 0;
}
.logsBox{
  margin:5px;
  padding: 5px;
  width: 600px;
  background: #000;
  color:#fff;
  font-size: 13px;
  float: left;
}
.logsBox .line{
  margin: 12px 0;
}
</style>
<div class="logsBox apache">
  <div class="line">日志讀取...</div>
</div>
<div class="logsBox nginx">
  <div class="line">日志讀取...</div>
</div>
<script type="text/javascript" src="http://apps.bdimg.com/libs/jquery/2.1.1/jquery.min.js"></script>
<script type="text/javascript">
  $(function(){

    function showLogs(api,showClass){
      function readLogs(){
        $.ajax({
          url:api,
          type:"get",
          dataType:"text",
          success:function(data){
            $(showClass).html(data);
          }
        });
      }
      readLogs();
      setInterval(readLogs,5000);
    }
    showLogs("?action=showNginxLogs",".nginx");
    showLogs("?action=showApacheLogs",".apache");
  });
</script>

以上這篇PHP 讀取大文件并顯示的簡單實例(推薦)就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關文章

  • Yii2實現中國省市區(qū)三級聯動實例

    Yii2實現中國省市區(qū)三級聯動實例

    本篇文章主要介紹了Yii2實現中國省市區(qū)三級聯動實例,小編覺得挺不錯的,現在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-02-02
  • discuz免激活同步登入代碼修改方法(discuz同步登錄)

    discuz免激活同步登入代碼修改方法(discuz同步登錄)

    無需激活直接同步登入discuz,測試版本:discuz! x3,理論也支持2.5,大家測試再用吧
    2013-12-12
  • thinkphp5.0整合phpsocketio完整攻略(繞坑)

    thinkphp5.0整合phpsocketio完整攻略(繞坑)

    這篇文章主要介紹了thinkphp5.0整合phpsocketio完整攻略(繞坑),小編覺得挺不錯的,現在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-10-10
  • 深入理解PHP變量的值類型和引用類型

    深入理解PHP變量的值類型和引用類型

    在PHP中,大部分變量類型,如字符串,整型,浮點,數組等都是值類型的,而類和對象是引用類型,在使用的時候,需要注意這一點。
    2015-10-10
  • 在phpstudy集成環(huán)境下的nginx服務器下配置url重寫

    在phpstudy集成環(huán)境下的nginx服務器下配置url重寫

    這篇文章主要介紹了在phpstudy集成環(huán)境下的nginx服務器下配置url重寫的教程,本文給大家介紹的非常詳細,具有一定的參考借鑒價值,需要的朋友可以參考下
    2019-12-12
  • laravel自定義分頁的實現案例offset()和limit()

    laravel自定義分頁的實現案例offset()和limit()

    今天小編就為大家分享一篇laravel自定義分頁的實現案例offset()和limit(),具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-10-10
  • Zend Framework教程之前端控制器Zend_Controller_Front用法詳解

    Zend Framework教程之前端控制器Zend_Controller_Front用法詳解

    這篇文章主要介紹了Zend Framework教程之前端控制器Zend_Controller_Front用法,詳細分析了前端控制器Zend_Controller_Front的功能,使用方法與相關注意事項,需要的朋友可以參考下
    2016-03-03
  • CodeIgniter框架數據庫事務處理的設計缺陷和解決方案

    CodeIgniter框架數據庫事務處理的設計缺陷和解決方案

    這篇文章主要介紹了CodeIgniter框架數據庫事務處理的設計缺陷和解決方案,也可以說是一個小BUG,使用CodeIgniter事務的朋友會遇到這個問題,需要的朋友可以參考下
    2014-07-07
  • 在Win7 中為php擴展配置Xcache

    在Win7 中為php擴展配置Xcache

    XCache是一個又快又穩(wěn)定的PHP opcode緩存器.經過良好的測試并在大流量/高負載的生產機器上穩(wěn)定運行.經過(在linux上)測試并支持所有現行PHP分支的最新發(fā)布版本,如php5.0~5.6(x64和x86),并支持線程安全/Windows.與同類opcode緩存器相比更勝一籌, 比如能夠快速跟進PHP版本.
    2014-10-10
  • 大家在搶紅包,程序員在研究紅包算法

    大家在搶紅包,程序員在研究紅包算法

    微信紅包在春節(jié)的火爆程度不言而喻,廣告主投入5億現金紅包,與央視羊年春晚獨家合作起到了巨大的推動作用。這就像一針大補丸,在短時間內給微信帶來了極大的關注度與流量。下面通過本篇文章學習下搶紅包算法是怎樣的,小伙伴們快來一起學習吧
    2015-08-08

最新評論