我的代码:
<?php
$contents=file("a.txt");
$last_line=count($contents)-3;//获取文件内容的数组中的倒数第二行,所以减去3(count是个数所以不是减去二)
$write_contents="";//你需要写入的东西
$contents[$last_line].="\n".$write_contents."\n";//写入东西
file_put_contents("a.txt",$contents);//写入文件
?>

解决方案 »

  1.   


    呵呵,我不是来了,哈哈。顺便告诉你,我在本地试验成功,那个换行符你可以改一下,在WIndows下是\r\n,在Linux下是\n。
      

  2.   

    这个是全部代码,楼主慢慢品位,本人已经测试成功。在Windows下:
    <?php
    $contents=file("2.php");
    $last_line=count($contents)-3;//获取文件内容的数组中的倒数第二行,所以减去3(count是个数所以不是减去二)
    $write_contents="sdfsdfsdf";//你需要写入的东西
    $contents[$last_line].="\r\n".$write_contents."\r\n";//写入东西
    file_put_contents("a.txt",$contents);//写入文件
    ?>在Linux下:
    <?php
    $contents=file("2.php");
    $last_line=count($contents)-3;//获取文件内容的数组中的倒数第二行,所以减去3(count是个数所以不是减去二)
    $write_contents="sdfsdfsdf";//你需要写入的东西
    $contents[$last_line].="\n".$write_contents."\n";//写入东西
    file_put_contents("a.txt",$contents);//写入文件
    ?>在Mac下:
    <?php
    $contents=file("2.php");
    $last_line=count($contents)-3;//获取文件内容的数组中的倒数第二行,所以减去3(count是个数所以不是减去二)
    $write_contents="sdfsdfsdf";//你需要写入的东西
    $contents[$last_line].="\r".$write_contents."\r";//写入东西
    file_put_contents("a.txt",$contents);//写入文件
    ?>
      

  3.   

    2楼针对小文件尚可,若大数据文件file函数效率有问题a.txt 
    aaa  ---1行 
    bbbb  ----2行 
    ccc---   3 
    dddd-----4<?php
    $fs=filesize('a.txt')-1; //window换行符应为2
    if($fp=@fopen('a.txt','rb+')){
      $n='';
      while($fs>0){ 
        fseek($fp,$fs--); 
        $n=fread($fp,1);
        if($n=="\n"){
      break; 
        }
      } 
      fseek($fp,$fs+1); //window换行符应为2
      $end_line=fgets($fp); //取最后一行
      fseek($fp,$fs);
      fwrite($fp,'加入的数据
    '.$end_line);
      fclose($fp); 
    }else die('文件打不开!');?>未测!仅提供思路
      

  4.   

    若你是超大数据文件,必用fopen和fseek等。指针定位读取...