(código fuente) Bloc de notas de texto en línea hecho a mano, versión completa optimizada, soporte para retorno de carro, visualización de 10 registros históricos, visualización de IP
Es necesario crear una carpeta de historial, después de crear el .php
<!DOCTYPE html>
<html>
<head>
</head>
<body>
<?php
$filePath = “document.html”; // Ruta al archivo del documento
$historyPath = “history/”; // ruta a la carpeta del historial
$maxHistoryCount = 10; // número máximo de registros del historial
si ($_SERVER[“MÉTODO_DE_SOLICITUD”] === “POST”) {
$content = $_POST[“contenido”];
//Convertir caracteres de nueva línea en etiquetas de nueva línea HTML
$contenido = nl2br($contenido);
// Guardar contenido en archivo de documento
archivo_poner_contenido($filePath, $content);
// Crea un nombre de archivo de historial, utilizando la marca de tiempo actual como nombre de archivo
$historyFileName = tiempo() . “.html”;
// Guardar el historial en la carpeta de historial
file_put_contents($historyPath . $historyFileName, $content);
// Obtener la lista de archivos de historial
$historyFiles = glob($historyPath . “*.html”);
// Si el número de registros del historial excede el límite máximo, elimine el archivo del historial más antiguo
si (count($historyFiles) > $maxHistoryCount) {
// Ordenar por hora de modificación del archivo
usort($historyFiles, función ($a, $b) {
devolver archivomtime($a) – archivomtime($b);
});
// Eliminar el archivo de historial más antiguo
desvincular($historyFiles[0]);
}
// Redirigir a la página actual para actualizar el contenido del documento
header(“Ubicación: ”. $_SERVER[“PHP_SELF”]);
salida();
}
//Cargar contenido desde el archivo del documento
$content = archivo_existe($filePath) ? archivo_obtener_contenido($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>Historia</h2>
<?php
// Obtener la lista de archivos de historial
$historyFiles = glob($historyPath . “*.html”);
// Ordenar por hora de modificación del archivo
usort($historyFiles, función ($a, $b) {
devolver archivomtime($b) – archivomtime($a);
});
// Muestra los enlaces, la hora y la dirección IP de los primeros 5 archivos del historial y la persona que dejó el mensaje.
$historyFiles = matriz_slice($historyFiles, 0, $maxHistoryCount);
$ip = $_SERVER['DIRECCIÓN_REMOTA'];
foreach ($historyFiles como $file) {
$fileName = nombrebase($file);
$fileTime = fecha(“Ymd H:i:s”, filemtime($file));
eco'<li><a href="”‘" . $historypath $filename ‘”>' . $nombreArchivo . '</a> (' . $fileTime . ') de ' . $ip . '</li> ';
&nótese bien
es; }
?>
<h2>Plan</h2>
<div><?php echo $content; ?></div>
</body>
</html>
Por último, es necesario crear una nueva carpeta vacía para el historial.