如何从php中的文本文件中删除第一行

时间:2016-02-29 10:07:09

标签: php

我尝试制作一个简单的php来读取和删除文本文件中的第一行。

到目前为止,我得到了代码:

 <?php
$myfile = fopen("text.txt", "r") or die("Unable to open file!");
$ch=1;




while(!feof($myfile)) {
  $dataline= fgets($myfile);
  $listes = explode("\n",file_get_contents("text.txt"));
  $poc = $listes[0];
  if($ch == 2){
  $gol = str_replace(' ', ' ', $dataline)."\n";
  $fh = fopen("newtext.txt",'a');
  fputs($fh,  $gol);
  fclose($fh);
  chmod("newtext.txt", 0777);
  }
  $ch = 2;
}
unlink("text.txt");
copy("newtext.txt", "text.txt");
chmod("text.txt", 0777);
unlink("newtext.txt");
fclose($myfile);

echo $poc;
flush();

?>

代码仅适用于text.txt中的前两行,但是当它应该读取第三行时代码停止工作。请任何建议。

1 个答案:

答案 0 :(得分:2)

$handle = fopen("file", "r");
$first = fgets($handle,2048); #get first line.
$outfile="temp";
$o = fopen($outfile,"w");
while (!feof($handle)) {
    $buffer = fgets($handle,2048);
    fwrite($o,$buffer);
}
fclose($handle);
fclose($o);
rename($outfile,$file);
对于此解决方案ghostdog74

link