(kod źródłowy) samodzielnie wykonany internetowy notatnik tekstowy, uproszczona pełna wersja, obsługa powrotu karetki, wyświetlanie 10 rekordów historii, wyświetlanie adresu IP
Po utworzeniu pliku .php należy utworzyć folder historii
<!DOCTYPE html>
<html>
<head>
</head>
<body>
<?php
$filePath = “document.html”; // Ścieżka do pliku dokumentu
$historyPath = “history/”; // ścieżka do folderu historii
$maxHistoryCount = 10; // maksymalna liczba rekordów historii
jeśli ($_SERVER[“METODA_ŻĄDANIA”] === “POST”) {
$content = $_POST[“content”];
//Konwertuj znaki nowej linii na znaczniki nowej linii HTML
$zawartość = nl2br($zawartość);
// Zapisz zawartość do pliku dokumentu
file_put_contents($filePath, $content);
// Utwórz nazwę pliku historii, używając bieżącego znacznika czasu jako nazwy pliku
$historyFileName = time() . “.html”;
// Zapisz historię w folderze historii
file_put_contents($historyPath . $historyFileName, $content);
// Pobierz listę plików historii
$historyFiles = glob($historyPath . “*.html”);
// Jeśli liczba rekordów historii przekroczy maksymalny limit, usuń najstarszy plik historii
jeśli (liczba($historyFiles) > $maxHistoryCount) {
// Sortuj według czasu modyfikacji pliku
usort($historyFiles, funkcja ($a, $b) {
zwróć filemtime($a) – filemtime($b);
});
// Usuń najstarszy plik historii
odłącz($historyFiles[0]);
}
// Przekieruj do bieżącej strony w celu odświeżenia zawartości dokumentu
nagłówek(“Lokalizacja: ” . $_SERVER[“PHP_SELF”]);
Wyjście();
}
//Załaduj zawartość z pliku dokumentu
$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>Historia</h2>
<?php
// Pobierz listę plików historii
$historyFiles = glob($historyPath . “*.html”);
// Sortuj według czasu modyfikacji pliku
usort($historyFiles, funkcja ($a, $b) {
zwróć filemtime($b) – filemtime($a);
});
// Wyświetl linki, czas i adres IP pierwszych 5 plików historii oraz osobę, która zostawiła wiadomość
$historyFiles = array_slice($historyFiles, 0, $maxHistoryCount);
$ip = $_SERVER['ADRES_ZDALNY'];
foreach ($historyFiles jako $file) {
$fileName = nazwa_bazowa($file);
$fileTime = data(“Ymd H:i:s”, filemtime($file));
echo '<li><a href="”‘" . $historypath $filename ‘”>' . $nazwapliku . '</a> (' . $fileTime . ') z ' . $ip . '</li> ';
Uwaga
}
?>
<h2>Plan</h2>
<div><?php echo $content; ?></div>
</body>
</html>
Na koniec należy utworzyć nowy, pusty folder na historię.