По сути, я пытался найти простой кусок кода для простого ведения заметок в 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», очевидно, но я хочу два разрыва строк между ними, как
«Тестовое задание
Тестовое задание»
Я также хочу добавить еще один вход под названием «Тема», который будет предметом заметки. Я открыт для любых предложений, если этот код неправильный или слишком сложный, то не стесняйтесь сокращать его или просто дать мне полностью новый.
Спасибо за любую помощь
Терри.
в HTML вам нужно использовать <br />
,
Но твоя форма наверное пишет \n
в базе данных.
используйте nl2br () для этого:
$htmltext = nl2br($f);
PHP_EOL является предопределенной константой в PHP начиная с PHP 4.3.10 и PHP 5.0.2. Смотрите руководство публикации:
Использование этого сэкономит вам дополнительное программирование на кроссплатформенных разработках.
IE.
$data = 'some data'.PHP_EOL;
$fp = fopen('somefile', 'a');
fwrite($fp, $data);
Если вы дважды пройдете через это, вы увидите «somefile»:
some data
some data
Проверь это !
<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);
}
?>