오늘은 대한입니다.
sun's longitude:300 29 15.50 
· 자유게시판 · 묻고답하기 · 알파문서 · RPMS list
· 사용자문서 · 팁/FAQ모음 · 리눅스Links · 자료실
· 서버정보 · 운영자 · Books/FAQ · FreeBSD
/board/delete.php:소스보기  

질문과 답변 게시판입니다.

현재 실시간으로 이곳 서버의 설정파일(몇개)를 보여주고 있습니다.
서버의 설정내용에 관한 질문은 먼저 이곳 서버의 설정내용을 참고하시길 바랍니다.

[*** 쓰기 금지단어 패턴 ***]
글 본문 중간에 업로드할 이미지를 추가하는 방법 : @@이미지이름@@
ex) @@foo.gif@@
 ★ 글 지우기 항목입니다. 한번 더 생각하시고 결정하십시오.!!!
제목 1589 번 글의 답장글 : Re: 물론이죠...아는데까지만....
 이름  산이(san2@linuxchannel.net) [홈]http://www.linuxchannel.net
[고씨]님이 남기신 글:

>안녕하세요... 항상 이곳에 감사하고 있는 사람입니다..
>
>php 를 질문 해도 되는지 모르지만 답답해서 질문 해봅니다..
>
>저는 조그만 서버를 집에 구축해서 사용하고 있습니다..
>
>서버 구축할 때 이곳에 질문을 했는데 항상 시원한 답변에
>
>거의 모든 문제를 해결할수 있었습니다..
>
>저의 서버를 혼자 쓰기 아까워서 다른 사람들과 공유를 하고
>
>있습니다.. 서버가 없어서 공부하지 못하는 분들을 위해서 무료로
>
>운영하고 있는데.. 어떤 분들을 신청만 하고 아예 접속을 하지 않는
>
>분들이 있더군요.. 그래서 1달에 한번 씩 로그 파일을 분석해서
>
>한 번도 접속이 없는 분들은 아뒤를 삭제하고 있습니다.. 근데
>
>일일이 손으로 할려구 하니 시간이 너무 많이 걸리 더군요..
>
>질문은요..

----->
좋은 일 하시는군요........

>
>쉘에서 last 하면 접속 한 사람들이 나옵니다..
>
>그래서 그걸 파일로 저장 합니다..
>
>last > last.txt 이렇게요..
>
>그리고 php로 분석을 하고 DB에 저장을 할려고 합니다..
>
>대충 머릿속에 그려지는데.. 문제는
>
>last 로 저장된 파일이
>
>bourree pts/0 192.168.1.2 Sun Jul 1 16:12 still logged in
>navy ftpd5625 203.240.170.46 Sun Jul 1 14:24 - 15:01 (00:37)
>navy ftpd5593 203.240.170.46 Sun Jul 1 14:16 - 14:17 (00:00)
>deliz pts/0 61.78.194.45 Sun Jul 1 14:16 - 14:30 (00:14)
>navy ftpd5550 210.217.168.245 Sun Jul 1 14:14 - 14:19 (00:05)
>
>이런 식으로 되는데요... 필드가 ID , pts, ip, 요일, 월, 날짜.... 이런 식으로 됩니다..
>
>근데.. 각 필드 값마다 칸 수가 틀려서 DB에 저장을 하게되면 다른
>
>필드의 값도 같이 저장이 되더군요.. 그래서 각 필드마다
>
>한 칸씩만 남겨 놓게 되면 DB에 저장을 할 때 " "로 구분이 되니까
>
>정확하게 입력을 시킬수 있을거 같습니다.. 근데
>
>그게 아무리 머리를 짜고 해도 안되더군요.. 필드값마다 한 칸만
>
>남겨놓고 나머지는 지우고 싶은데.. 혹시 아시는분은 설명좀 부탁 드립니다..

========================================

- explode() 함수
- trim()함수
- list() 함수
- split() 함수
- file() 함수

만 알고 있어도 싶게 해결할 수 있습니다.

여러가지 알고리즘이 나올 수 있겠지만
첫번째 줄하고 그 다음줄의 공통점을 찾아야 합니다.
아래소스에서는 그 공통점 ':' 이므로 ...

---------------------------------

## 함수로 만들면 더 편하겠군요..

if($file=@file("last.txt")) {


for($i=0;$i<count($file)-1;$i++) {

$j = $i - 1;

$last = explode(":",$file[$i]); // 서로 구별

list($db[id][$j],$db[pts][$j],$db[ip][$j],$db[day][$j],$db[moon][$j],
$db[date][$j],$db[time][$j]) = split(" +",$last[0]);

$db[time][$j] .= ":" . $last[1];

if($last[2]) $db[time][$j] .= ":" . $last[2];
if($last[3]) $db[time][$j] .= ":" . $last[3];
}

} else {

echo "file not found";
}

## 아래와 같이 테스트해 봅니다.
##
echo "<table width=100% border=1>\n";

for($j=0; $j< count($db[id]); $j++) {

echo "<tr>\n".
" <td>".$db[id][$j]."</td>\n".
" <td>".$db[pts][$j]."</td>\n".
" <td>".$db[ip][$j]."</td>\n".
" <td>".$db[day][$j]."</td>\n".
" <td>".$db[moon][$j]."</td>\n".
" <td>".$db[date][$j]."</td>\n".
" <td>".$db[time][$j]."</td>\n".
"</tr>\n".
"";
}

echo "</table>\n";

----------------------

방금 테스트해 보았습니다..
잘 나옵니다.
2001년 07월 02일 10:55:53 월(오전)  from 211.35.159.131
0
암호: 공용 보안 SSL 서버가 준비되기 전까지는 off 합니다

apache lighttpd linuxchannel.net 
Copyright 1997-2026. linuxchannel.net. All rights reserved.

Page loading: 0.01(server) + (network) + (browser) seconds