(소스코드) 자체 제작 온라인 텍스트 노트패드, 간소화된 전체 버전, 캐리지 리턴 지원, 10개의 기록 기록 표시, IP 표시
.php를 만든 후 history 폴더를 만들어야 합니다.
<!DOCTYPE html>
<html>
<head>
</head>
<body>
<?php
$filePath = “document.html”; // 문서 파일 경로
$historyPath = “history/”; // history 폴더 경로
$maxHistoryCount = 10; // 최대 히스토리 레코드 수
if ($_SERVER[“요청_방법”] === “POST”) {
$콘텐츠 = $_POST[“콘텐츠”];
//줄바꿈 문자를 HTML 줄바꿈 태그로 변환
$내용 = nl2br($내용);
// 문서 파일에 내용 저장
파일_내용_넣기($파일경로, $내용);
// 현재 타임스탬프를 파일 이름으로 사용하여 기록 파일 이름을 생성합니다.
$historyFileName = time() .“.html”;
// 기록을 history 폴더에 저장
file_put_contents($historyPath . $historyFileName, $content);
// 히스토리 파일 목록을 가져옵니다
$historyFiles = glob($historyPath. "*.html");
// 기록 건수가 최대 한도를 초과하면 가장 오래된 기록 파일을 삭제합니다.
if (count($historyFiles) > $maxHistoryCount) {
// 파일 수정 시간순으로 정렬
usort($historyFiles, 함수($a, $b) {
파일mtime($a) - 파일mtime($b)을 반환합니다.
});
// 가장 오래된 기록 파일을 삭제합니다.
링크 해제($historyFiles[0]);
}
// 문서의 내용을 새로 고치기 위해 현재 페이지로 리디렉션합니다.
헤더("위치: " . $_SERVER["PHP_SELF"]);
출구();
}
//문서 파일에서 콘텐츠 로드
$content = 파일_존재($파일경로) ? 파일_가져오기_내용($파일경로) : “”;
?>
<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) {
파일mtime($b) - 파일mtime($a)을 반환합니다.
});
// 첫 5개 기록 파일의 링크, 시간, IP 주소와 메시지를 남긴 사람을 표시합니다.
$historyFiles = array_slice($historyFiles, 0, $maxHistoryCount);
$ip = $_SERVER['원격 주소'];
foreach($historyFiles를 $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>
마지막으로, 기록을 위한 새 빈 폴더를 만들어야 합니다.