Для моих курсов PHP мне нужно создать блокнот, который начинается с образца текста, когда я его редактирую и нажимаю на кнопку сохранения, текст внутри файла редактируется и сохраняется. Поэтому, если я обновляю свою страницу/открываю файл напрямую, у меня есть новый контент, отредактированный отображаемым пользователем.Неожиданное пространство в начале файла
Работает, но у меня есть непредвиденное место в моем файле.
Если я ставлю на первый символ в первой строке «образец текста», я не буду видеть «образец текста», а вместо этого:
sample text
И это только для первой строки , что если я отредактировал файл вручную или с моей страницей. Все следующие строки начинаются с первых символов.
Ниже мой файл notes.txt (где мои заметки являются) после редактирования с веб-страницы:
Mes jeux préférés: => Fallout 3 => Natural Selection 2 = 2; L4D2
Я не вижу какой-либо странный характер в начале файла.
index.php:
<?php
define('FICHIER_DE_NOTES', 'notes.txt');
$fichier = fopen(FICHIER_DE_NOTES, 'r+');
if (array_key_exists('note', $_POST)) {
$note = filter_var($_POST['note'], FILTER_SANITIZE_SPECIAL_CHARS);
ftruncate($fichier, 0);
fseek($fichier, 0);
fputs($fichier, $note);
$updateMessage = 'Vos notes ont été sauvegardés!';
} else {
$note = '';
while ($ligne = fgets($fichier)) {
$note = $note . $ligne;
}
}
fclose($fichier);
include 'index.phtml';
?>
И мой index.phtml:
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Bloc Note</title>
</head>
<body>
<h1>Bloc Note</h1>
<form method="post" action="index.php" >
<p>Voici votre bloc note. Ajoutez-y du texte et cliquer sur "Sauvegarder".</p>
<textarea id="textarea" name="note" rows="16" cols="50">
<?= $note ?>
</textarea>
<br/><br/>
<label>
<input type="submit" value="Sauvegarder">
</label>
<?php if (isset($updateMessage)) {
echo $updateMessage;
} ?>
</form>
</body>
</html>
Я использую Vim и PHP5.
Сообщите мне, если вам нужна дополнительная информация.