본문 바로가기

파일의 입출력 [기록하기]

반응형

자.....그럼 /htdocs에다가 폴더를 하나 만드세요...
그리고 퍼미션을...............-_-엇;;;
그런데 퍼미션을 어떻게 조정하나요...-_-a;;;

윈도우에서는 미리 말씀드렸듯이 퍼미션을 조정할 필요가 없습니다.
그리고 리눅스나 유닉스에서는 chmod라는 명령어로 조정을 하죠...
그래서 그걸 조정하려면 텔넷으로 접속을 해야 하는데...
FTP프로그램에서....해당 파일이나 폴더를 오른쪽 클릭해보면...
chmod라는 명령어가 있습니다...때론 unix 어쩌구 라고도 되어있더군요..
암튼 대부분의 FTP프로그램에서는 퍼미션을 바꿀수 있는 메뉴가 있습니다. ^^/

어쨌든....다른 서버에 올리셨다면 퍼미션을 777로 조정을 해줍시다.
test라는 폴더를 만들었다고 하죠~.....(-_-+만드셨죠?)

이제 이 test라는....퍼미션이 777인 폴더에다가...
파일을 하나 만들겠습니다.
소스보시죠~
(파일은 test폴더안에 만드시는게 아닙니다. /htdocs에 만드세요)

< ?
$fp = fopen("test/data.txt","w");
fwrite($fp,"PHP");
fclose($fp);                      
?>

기본소스 입니다.
자 살펴볼까요?;;

$fp라는 변수에 뭔가를 집어 넣는거죠...
fopen()함수는 파일을 열어주는 겁니다....무슨파일?
test/data.txt라는 파일이죠....보이시죠?
그리고 두번째 매개변수에 w라는걸 넣었는데......이건 파일을 열때 모드를 지정해주느것입니다.
말하자면 파일을 열긴 여는데 열어서 뭘할꺼냐 그거죠...
사용하는 모드는 아래와 같습니다.

r : 읽기전용
r+ : 읽기+쓰기
w : 쓰기
a : 추가하기
a+ : 읽기+추가하기

많이 쓰이는건 w와 a인데....차이점은....기존에 파일이 존재할때...
w이면 새롭게 작성을 하는것이고...
a이면 기존의 내용 밑에 추가되는 것입니다.

자 소스를 다시 볼까요?

< ?
$fp = fopen("test/data.txt","w");
fwrite($fp,"PHP");
fclose($fp);                      
?>

fwrite()함수는 파일에 기록을 해줍니다. 뭘?
$fp라는 열린파일의 정보를 받아서....두번째 매개변수의 내용을 기록하는거죠....
두번째 매개변수에 "PHP"라고 써있으니 PHP라고 파일에 기록됩니다.
어떤파일에? test폴더의 data.txt파일이죠~
그리고 마지막에 fclose()함수로 열어놨던 파일을 닫아주고 파일작업을 끝냅니다.

암튼 이 소스를 실행하면 test폴더에 data.txt라는 파일이 생깁니다.
내용을 보면 PHP라고 있겠죠...

별것 아닌것 같지만...파일방식의 게시판이라든지 DB없이 돌아가는 CGI들은 대부분 이 방식으로 정보를 저장합니다...
그럼 간단하게 이걸로 뭘 할수 있을까요?

예를들어 자신의 홈에 들어온 방문자들의 IP를 모조리 저장해 주는 프로그램을 만들어 보죠...

< ?
$ip = $REMOTE_ADDR;
$fp = fopen("test/data.txt","a");
fwrite($fp,"$ip");
fclose($fp);                      
?>

간단하죠..?
먼저 $ip라는 변수에 $REMOTE_ADDR이라는 환경변수를 넣었습니다.
이건 IP를 알아내는 것이죠....결국 $ip라는 변수에 방문자의 IP가 들어갑니다.
그다음 아까 했던대로 파일에 샤샤샥~ 저장해줍니다. 뭘로?
모드가 a니까 밑줄에 계속 추가되겠죠...그런데 이렇게 하면 IP가 옆에 줄줄이 붙어 버립니다. 그래서 한줄을 띄워 주도록 하죠...
\n 아시죠? 한줄 띄우는것...

< ?
$ip = $REMOTE_ADDR;
$fp = fopen("test/data.txt","a");
fwrite($fp,"$ip \n");
fclose($fp);                  
?>

이렇게 하면...

000.000.000.000
000.000.000.000
000.000.000.000
000.000.000.000

이렇게 차례로 저장됩니다...

반응형

'PHP∵SCRIPT' 카테고리의 다른 글

mySQL접속하기  (0) 2014.04.06
mySQL사용하기  (0) 2014.04.06
mySQL이란...  (0) 2014.04.06
파일의 입출력 [출력하기]  (0) 2014.04.05
파일의 입출력 [퍼미션?]  (0) 2014.04.05
include와 require ?  (0) 2014.04.05
반복실행문  (0) 2014.04.04
비교연산과 조건문...  (0) 2014.04.04

댓글


Copyright ⓒ SmartWeb All rights reserved.