Php代码,用于将名称写入.txt文件,并在其自己的行上

时间:2017-09-26 09:49:33

标签: php fwrite

我试图让下面的代码在单独的行上写两个名称(表单数据)。如果我在Atom中打开.txt文件,它会显示在单独的行上,但它只显示在记事本中的一行。

<?php
  error_reporting(E_ERROR | E_PARSE);

  $nameOne = $_POST['nameOne'];
  $nameTwo = $_POST['nameTwo'];

  $newfile = fopen("newfile.txt", "w");
  $txt = "$nameOne\n";
  fwrite($newfile, $txt);
  $txt = "$nameTwo\n";
  fwrite($newfile, $txt);
  fclose($newfile);
?>

3 个答案:

答案 0 :(得分:3)

不同的操作系统使用不同的代码。 Windows为line = std::vector<Pixel>(nb); ,OSX为"\r\n" 等。使用"\n"常量而不是任一代码进行自动检测!

转到此处:http://php.net/manual/en/function.fopen.php了解更多详情。

答案 1 :(得分:1)

使用\r\n代替\n

<?php
  error_reporting(E_ERROR | E_PARSE);

  $nameOne = $_POST['nameOne'];
  $nameTwo = $_POST['nameTwo'];

  $newfile = fopen("newfile.txt", "w");
  $txt = "$nameOne\r\n";
  fwrite($newfile, $txt);
  $txt = "$nameTwo\r\n";
  fwrite($newfile, $txt);
  fclose($newfile);
?>

或者您可以使用PHP_EOL

<?php
      error_reporting(E_ERROR | E_PARSE);

      $nameOne = $_POST['nameOne'];
      $nameTwo = $_POST['nameTwo'];

      $newfile = fopen("newfile.txt", "w");
      $txt = "$nameOne".PHP_EOL;
      fwrite($newfile, $txt);
      $txt = "$nameTwo".PHP_EOL;
      fwrite($newfile, $txt);
      fclose($newfile);
    ?>

答案 2 :(得分:0)

使用PHP_EOL常量而不是\n\r\n,因为您使用 Windows \n Unix / Linux上运行良好)。