【问题标题】:create Line break/new line after fwrite() PHP在 fwrite() PHP 之后创建换行符/换行符
【发布时间】:2013-04-23 07:13:45
【问题描述】:

您好,我正在尝试编写一个编辑文本文件的 php 文件。但是,我有一组变量,每个变量都来自单独的 html 表单输入。我希望这些值中的每一个都显示在新行上。我尝试使用 PHP_EOL、“\n”和“\r\n”。下面是我的代码。我希望有人能给我指导。请注意,除了插入新行之外,一切都很顺利

<?php
$file="file.txt";
$fh=fopen($file , "a+");
$input1=$_POST['input1'];
$input2=$_POST['input2'];
$input3=$_POST['input3'];
fwrite($fh , $input1. " " . $input2 . " " . $input3 . "\n");
?>

【问题讨论】:

  • 如果你使用\r\n会发生什么?
  • 什么都没有。当我不断提交包含数据的表单时,数据会不断添加到文件中,并且行变得更长。
  • 你如何使用"\r\n" ?你试过"\n\r""\n" 已经有效了吗?
  • 也许您错过了文件末尾的\n。因此,当想要添加新行时,它会被添加到同一行。
  • 你如何查看生成的文件?

标签: php forms newline


【解决方案1】:

尝试替换:

fwrite($fh , $input1. " " . $input2 . " " . $input3 . "\n");

与:

fwrite($fh , $input1 . PHP_EOL . $input2 . PHP_EOL . $input3 . PHP_EOL);

对我来说,它正在工作。

【讨论】:

  • 嗯,非常感谢。我已经部分工作了。 PHP 正在读取的文件中的文本是它的格式。然而,显示仍然显示为一个完整的字符串。关于这个@CORRUPT 有什么想法吗?
  • 试试echo '&lt;pre&gt;' . file_get_contents($file) . '&lt;/pre&gt;';,如果它在html标记中。
  • @user2235005 然后'&lt;pre&gt;...&lt;/pre&gt;' 应该会有所帮助。
  • @user2235005 另外,由于此文件包含用户贡献的内容,最好在输出到 HTML 之前htmlentities()/htmlspecialchars()
猜你喜欢
  • 1970-01-01
  • 2011-05-13
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-06-26
  • 1970-01-01
相关资源
最近更新 更多