$fd = fopen("aaa.txt", "r");
$i = 0;
$buffer = "";
while ($tmp = fgets($fd, 4096)) {
  $i++;
  if ($i <> 2){
  $buffer .=$tmp;
 }
}
fclose($fd);

解决方案 »

  1.   

    $data = file("aaa.txt");
    unset($data[1]);
    $str = implode("\r", $data);
    .....$str写回文件
      

  2.   

    $data = get_file_contents("aaa.txt");
    $data = explode("\r", $data);
    unset($data[1]);
    $str = implode("\r", $data);
    .....$str写回文件
      

  3.   

    $data = get_file_contents("aaa.txt");
    $pos = strpos("\r", $data);
    $pos2 = strpos("\r", $data, $pos);
    $data = substr($data , 0, $pos).substr($data, $pos2+1);
    unset($data[1]);
    $str = implode("\r", $data);
    .....$str写回文件
      

  4.   

    问题就在于写回文件如何写,用fwrite吗?但本来文件比方说有200个字节,现在删掉了一行后,变成125字节,那我如果用fwrite的话,只是从头指针开始复盖,到最后还是有200个字节,应该会存在这种问题的吧,高手指教啊
      

  5.   

    $filename = "test.txt"; //待操作的文件
    $ar = file($filename); //读取文件到数组
    unset($ar,1); //删除第2行$fp = fopen($filename,"w");
    fwrite($fp,join("",$ar));
    fclose($fp);