(codice sorgente) blocco note di testo online fatto in casa, versione completa semplificata, supporto per ritorno a capo, visualizzazione di 10 record cronologici, visualizzazione IP
È necessario creare una cartella cronologia, dopo aver creato il file .php
<!DOCTYPE html>
<html>
<head>
</head>
<body>
<?php
$filePath = “document.html”; // Percorso al file del documento
$historyPath = “history/”; // percorso alla cartella della cronologia
$maxHistoryCount = 10; // numero massimo di record cronologici
se ($_SERVER[“METODO_RICHIESTA”] === “POST”) {
$content = $_POST[“contenuto”];
//Converti i caratteri di nuova riga in tag di nuova riga HTML
Contenuto $ = nl2br(contenuto $);
// Salva il contenuto nel file del documento
file_put_contents($filePath, $content);
// Crea un nome file cronologico, utilizzando il timestamp corrente come nome file
$historyFileName = time() . “.html”;
// Salva la cronologia nella cartella cronologia
file_put_contents($historyPath . $historyFileName, $content);
// Ottieni l'elenco dei file cronologici
$historyFiles = glob($historyPath . “*.html”);
// Se il numero di record della cronologia supera il limite massimo, elimina il file della cronologia più vecchio
se (count($historyFiles) > $maxHistoryCount) {
// Ordina per ora di modifica del file
usort($historyFiles, funzione ($a, $b) {
restituisci filemtime($a) – filemtime($b);
});
// Elimina il file storico più vecchio
unlink($historyFiles[0]);
}
// Reindirizza alla pagina corrente per aggiornare il contenuto del documento
header(“Posizione: ” . $_SERVER[“PHP_SELF”]);
Uscita();
}
//Carica il contenuto dal file del documento
$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>Storia</h2>
<?php
// Ottieni l'elenco dei file cronologici
$historyFiles = glob($historyPath . “*.html”);
// Ordina per ora di modifica del file
usort($historyFiles, funzione ($a, $b) {
restituisci filemtime($b) – filemtime($a);
});
// Visualizza i link, l'ora e l'indirizzo IP dei primi 5 file della cronologia e della persona che ha lasciato il messaggio
$historyFiles = array_slice($historyFiles, 0, $maxHistoryCount);
$ip = $_SERVER['REMOTE_ADDR'];
foreach ($historyFiles come $file) {
$fileName = basename($file);
$fileTime = date(“Ymd H:i:s”, filemtime($file));
eco '<li><a href="”‘" . $historypath $filename ‘”>' . $nomefile . '</a> (' . $fileTime . ') da ' . $ip . '</li> ';
&nb
}
?>
<h2>Piano</h2>
<div><?php echo $content; ?></div>
</body>
</html>
Infine, è necessario creare una nuova cartella vuota per la cronologia.