在php Fwrite输出中添加换行符

时间:2015-02-01 15:09:03

标签: php html fopen fwrite fclose

基本上,我试图找到一个简单的代码,用于简单的注释,在html中输入内容,我想输入一个html输入表单,然后将该输入添加到我找到的文本文件中,

<h1>Adding a text block to a text file:</h1>
<form action="index.php" method='post'>
<textarea name='textblock'></textarea>
<input type='submit' value='Add text'>
</form>

<?php

// Open the text file
$f = fopen("text.html", "a");

// Write text
fwrite($f, $_POST["textblock"]); 

// Close the text file
fclose($f);

// Open file for reading, and read the line
$f = fopen("text.html", "r");

// Read text
echo fgets($f); 
fclose($f);

?>

哪个有效,但在输出结束时需要换行,例如如果我写了“test”然后再次“test”,它显然输出为“testtest”,但我想在它们之间有两个换行符,比如

“测试

测试“

我还想添加另一个名为“Subject”的输入,它将成为笔记的主题,我对任何建议都是开放的,如果这段代码错了,或者过于复杂,那么随意缩短它或者只是给它我是一个全新的。

感谢您的帮助

特里。

3 个答案:

答案 0 :(得分:0)

在html中你需要使用<br />。 但是您的表单可能会在数据库中写入\n。 使用nl2br():

$htmltext = nl2br($f);

答案 1 :(得分:0)

自PHP 4.3.10和PHP 5.0.2起,PHP_EOL是PHP中的预定义常量。参见手册发布:

使用它可以节省跨平台开发的额外编码。

IE。

$data = 'some data'.PHP_EOL;
$fp = fopen('somefile', 'a');
fwrite($fp, $data);

如果您循环使用这两次,您会看到某些文件&#39;:

some data
some data

答案 2 :(得分:0)

看看这个!

<h1>Adding a text block to a text file:</h1>
<form action="index.php" method='post'>
<textarea name='textblock'></textarea>
<input type='submit' value='Add text'>
</form><?php

if(isset($_POST["textblock"]))
{
    $myFile='text.html';
    file_put_contents($myFile,$_POST["textblock"]."<br>",FILE_APPEND|LOCK_EX);
    echo file_get_contents($myFile);
}

?>