파일 불러서 띄어주기
- file() 로 불러온걸 $list에 저장해주면, 각 줄이 0인덱스 부터 차례로 저장된다.
- , (콤마)로 구분되어 있고, 여러줄이 반복되어 있는데
- explode() 를 사용해주어 각각 배열로 나눠준다.
- 해당 배열의 원소를 foreach문을 이용해 사용한다.
<?
$list = file("1.txt");
// 행을 기준으로 배열로 나눠서 저장
?>
<table border="1" width="800">
<tr>
<td>이름</td>
<td>제목</td>
<td>내용</td>
</tr>
<?
foreach ($list as $a) {
$i = explode(",", $a);
?>
// split("") 과 비슷
<tr>
<td><?= $i[0] ?></td>
<td><?= $i[1] ?></td>
<td><?= $i[2] ?></td>
</tr>
<? } ?>
</table>
// 1.txt 내용
홍길동1,test,동해물과 백두산이 마르고 닳도록
홍길동2,test,동해물과 백두산이 마르고 닳도록
홍길동3,test,동해물과 백두산이 마르고 닳도록
홍길동4,test,동해물과 백두산이 마르고 닳도록
홍길동5,test,동해물과 백두산이 마르고 닳도록
홍길동6,test,동해물과 백두산이 마르고 닳도록
홍길동7,test,동해물과 백두산이 마르고 닳도록
문서 만들고, 쓰고, 추가하고 닫고
- fopen("파일명", "모드"); // r w a 는 각각 read write add 이다.
: 해당명으로된 파일을 생성해준다. 이미 있으면 패스
- fopen()으로 열고
- fread()로 몇 개의 텍스트를 지정하고 읽어준다.
- fclose()를 마지막에 닫아준다.
// fopen() //r,w,a 중 하나
// fputs , fwrite // 둘 중 하나 사용
// fclose // 닫기
// $new= fopen("1.txt","a");
// fwrite($new,"동해물과 백두산이\r\n");
// fclose($new);
$new= fopen("1.txt", "r");
$a= fread($new, 1000);
echo $a;
fclose($new);
- 실제 현재 디렉토리에 파일이 생성된다.
메모장 만들고 기록하고 테이블로 띄우기
- memo.php
- form action으로 다른 파일에 폼의 내용을 보내준다.
- memo.txt의 내용이 있을 시 내림차순으로 5개만 테이블로 띄어준다.
<!-- memo.php --!>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>메모장</title>
</head>
<body>
<form action="memoSave.php">
<div style="text-align: center;">
<table border="1" align="center">
<tr>
<td>이름</td>
<td><input type="text" name="name"></td>
</tr>
<tr>
<td>이메일</td>
<td><input type="text" name="email"></td>
</tr>
<tr>
<td>내용</td>
<td><input type="text" name="contents"></td>
</tr>
</table>
<input type="submit" value="저장">
</div>
</form>
<table border="1">
<tr>
<td>NO.</td>
<td>이름</td>
<td>이메일</td>
<td>내용</td>
<td>저장일시</td>
</tr>
<?
$count = 0;
$f = file("memo.txt");
$reversedList = array_reverse($f);
foreach ($reversedList as $i) {
$data = explode("###", $i);
if($count>=5) break;
?>
<tr>
<td><?= $count+1; ?></td>
<td><?= $data[0] ?></td>
<td><?= $data[1] ?></td>
<td><?= $data[2] ?></td>
<td><?= $data[3] ?></td>
</tr>
<? $count++;
} ?>
</table>
<?
?>
</body>
</html>
- memoSave.php
- date() 로 연월일 시간 으로 생성일자를 만들어주고 (기준점이 다르기에 시간이 다를 수 있으며, 조정이 필요하다.)
- $_REQUEST로 해당 값으로된 값을 받아주고 "###" 으로 나눈후 각각 . 으로 이어준다.
- "\r\n" 은 한 줄 띄우는걸 의미한다.
- $content 값을 메모장에 기록해둔다.
- 그런후 location.href= "" 로 해당 파일로 다시 이동해준다.
<?
// memoSave.php
$now = date("Y-m-d H:i:s");
$content = $_REQUEST["name"] . "###" . $_REQUEST["email"] . "###" . $_REQUEST["contents"] . "###".$now."\r\n";
$fp = fopen("memo.txt", "a");
fwrite($fp, $content);
fclose($fp);
?>
<script>
location.href = "memo.php";
</script>
- memo.txt
ds###ds###dsd###2023-11-11 09:21:58
fdafas###fdsaf###dsafas###2023-11-11 09:26:50
fdafsafasd###fafdsaf###afa###2023-11-11 09:26:54
fdafas###fdasf###asfdsafd###2023-11-11 09:26:57
dsa###ada###dsada###2023-11-11 09:31:44
sdadsa###dad###s해결adad###2023-11-11 09:31:46
dsada###dad###adsa###2023-11-11 09:31:51
fdaf###safdas###fasf###2023-11-11 09:32:04
결과값