(исходный код) самодельный онлайн-блокнот, оптимизированная полная версия, поддержка возврата каретки, отображение 10 записей истории, отображение IP
Необходимо создать папку истории, после создания .php
<!DOCTYPE html>
<html>
<head>
</head>
<body>
<?php
$filePath = «document.html»; // Путь к файлу документа
$historyPath = «history/»; // путь к папке истории
$maxHistoryCount = 10; // максимальное количество записей истории
если ($_SERVER[“REQUEST_METHOD”] === “POST”) {
$content = $_POST[«контент»];
//Преобразовать символы новой строки в теги новой строки HTML
$content = nl2br($content);
// Сохранить содержимое в файл документа
file_put_contents($filePath, $content);
// Создать имя файла истории, используя текущую временную метку в качестве имени файла
$historyFileName = время() . “.html”;
// Сохранить историю в папке истории
file_put_contents($historyPath . $historyFileName, $content);
// Получить список файлов истории
$historyFiles = glob($historyPath . “*.html”);
// Если количество записей истории превышает максимальный предел, удалить самый старый файл истории
если (count($historyFiles) > $maxHistoryCount) {
// Сортировать по времени изменения файла
usort($historyFiles, функция ($a, $b) {
вернуть filemtime($a) – filemtime($b);
});
// Удалить самый старый файл истории
отменить связь($historyFiles[0]);
}
// Перенаправить на текущую страницу, чтобы обновить содержимое документа
заголовок(“Расположение: ” . $_SERVER[“PHP_SELF”]);
Выход();
}
//Загрузить содержимое из файла документа
$content = file_exists($filePath) ? file_get_contents($filePath) : “”;
?>
<form method=”post” action=” ”>
<textarea name="”content”" style="”width:" 100%; height: 200px;”><?php echo htmlspecialchars(str_replace(“<br />”, “\n”, $content)); ?></textarea>
<br>
<input type=”submit” value=”save”>
</form>
<hr>
<h2>История</h2>
<?php
// Получить список файлов истории
$historyFiles = glob($historyPath . “*.html”);
// Сортировать по времени изменения файла
usort($historyFiles, функция ($a, $b) {
вернуть filemtime($b) – filemtime($a);
});
// Отображение ссылок, времени и IP-адреса первых 5 файлов истории, а также человека, оставившего сообщение
$historyFiles = array_slice($historyFiles, 0, $maxHistoryCount);
$ip = $_SERVER['REMOTE_ADDR'];
foreach ($historyFiles как $file) {
$fileName = базовое имя($file);
$fileTime = date(“Ymd H:i:s”, filemtime($file));
эхо '<li><a href="”‘" . $historypath $filename ‘”>' . $имя_файла . '</a> (' . $fileTime . ') из ' . $ip . '</li> ';
&nb
зр; }
?>
<h2>План</h2>
<div><?php echo $content; ?></div>
</body>
</html>
Наконец, необходимо создать новую пустую папку для истории.