130514064 6,9,1,4,2 2013-5-14 16:40:00
130514065 2,0,1,4,8 2013-5-14 16:50:00
130514066 4,3,4,6,2 2013-5-14 17:00:00
130514067 6,9,4,1,2 2013-5-14 17:10:00
130514068 3,9,1,5,0 2013-5-14 17:20:00
130514069 7,0,4,7,8 2013-5-14 17:30:00
130514070 3,0,3,0,0 2013-5-14 17:40:00
130514071 1,5,3,8,9 2013-5-14 17:50:00
130514072 3,4,4,6,8 2013-5-14 18:00:00
130514073 7,8,8,5,3 2013-5-14 18:10:00请教,php中,如何返回某文本(行高是动态的)最后5行数据。
希望得到的结果如下
130514069 7,0,4,7,8 2013-5-14 17:30:00
130514070 3,0,3,0,0 2013-5-14 17:40:00
130514071 1,5,3,8,9 2013-5-14 17:50:00
130514072 3,4,4,6,8 2013-5-14 18:00:00
130514073 7,8,8,5,3 2013-5-14 18:10:00

解决方案 »

  1.   

    $arr=file('tt.txt');
    print_r(array_slice($arr,-5));
      

  2.   

    $a = file('filename');
    echo join("\n", array_slice($a, -5));
      

  3.   

    如果文本超大及每行定长,用fseek就再好不过了。比如:<?php
    $fp = fopen("test.txt", "r");
    fseek($fp, -(5 * 行字节数));
    echo fread($fp, -(5 * 行字节数));
    ?>
      

  4.   

    修正一下:
    <?php
    $fp = fopen("test.txt", "r");
    fseek($fp, -(5 * 行字节数), SEEK_END);
    echo fread($fp, -(5 * 行字节数));
    ?>
      

  5.   

    感谢以上各位朋友回复。文本数据源地址是:http://www.17500.cn/getData/3d.TXT
    经测试 还是有问题。返回空白
      

  6.   

    $a = file('http://www.17500.cn/getData/3d.TXT');
    print_r(array_slice($a, -5));Array
    (
        [0] => 2013122 2013-05-09 4 6 5 3 8 6 1 1 53486726 17658 1000 0 320 56105 160    [1] => 2013123 2013-05-10 8 3 2 3 5 8 1 1 54313932 44224 1000 0 320 81595 160    [2] => 2013124 2013-05-11 9 6 3 9 8 8 1 1 53532440 15706 1000 0 320 52118 160    [3] => 2013125 2013-05-12 5 1 0 4 8 2 1 1 53256156 18776 1000 0 320 26435 160    [4] => 2013126 2013-05-13 4 1 0 2 6 5 1 1 54294900 9873 1000 0 320 21141 160)
    如果你依然不行,那就是你的php配置问题了
      

  7.   

    回 xuzuning版主。
    如果使用的是这个地址呢?http://web45800.w221.vhost058.cn/test.php
    谢谢
      

  8.   

    不是一样吗?$a = file('http://web45800.w221.vhost058.cn/test.php');
    print_r(array_slice($a, -5));Array
    (
        [0] => 130514082 4,3,0,0,4 2013-5-14 19:40:00    [1] => 130514083 3,2,7,4,0 2013-5-14 19:50:00    [2] => 130514084 2,5,9,9,4 2013-5-14 20:00:00    [3] => 130514085 5,8,1,7,7 2013-5-14 20:10:00    [4] => 130514086 1,3,7,5,7 2013-5-14 20:20:00
    )