PHP 프로그래밍

본문 바로가기
사이트 내 전체검색


Web Programming >> PHP Programming
[목차]
제3장 PHP에서 꼭 알아두어야 할 함수

    12. 기타 PHP 함수

getenv 함수

getenv() 함수의 정의는 다음과 같다.

 

 string getenv(string varname);

   환경 변수의 값을 반환한다. 실패시에는 false를 반환한다.

PHP에서 참고할 수 있는 주요 환경 변수로는 다음과 같은 것들이 있다.

 

환경 변수 이름

기능

SERVER_SOFTWARE

 웹서버의 이름과 버전

SERVER_NAME

 서버의 호스트 이름 또는 IP 어드레스

GATEWAY_INTERFACE

 서버의 CGI 타입과 개정 레벨을 나타낸다. (예:CGI/1.1)

SERVER_PROTOCOL

 서버의 프로토콜, 보통 HTTP/1.0 이나 HTTP/1.1에 해당

SERVER_PORT

 클라이언트 요청을 보내는 포트 번호, 보통 80번 Port

REQUEST_METHOD

 CGI에서 데이터를 전송하는 방법으로 GET인 POST

PATH_INFO

 스크립트에 대한 경로 정보

PATH_TRANSLATED

 PATH_INFO 경로를 실제 물리적 경로로 표시한 것

SCRIPT_NAME

 현재 실행중인 스크립트의 파일 이름

QUERY_STRING

 GET 이나 POST 방식을 통해 전달된 값을 저장

REMOTE_ADDR

 스크립트 실행을 요청한 클라이언트의 IP 주소

REMOTE_HOST

 스크립트 실행을 요청한 클라이언트의 호스트 이름

CONTENT_LENGTH

 POST 방식을 통해 전달되는 입력 정보의 길이를 표시

HTTP_USER_AGENT

 스크립트 실행을 요청한 브라우저의 종류 및 버전을 표시

 

getlastmod 함수

getlastmod() 함수의 정의는 다음과 같다.

 

 int getlastmod(void);

   현재 문서가 최종적으로 수정된 시간을 유닉스 시간, 즉 timestamp으로 반환한다. 따라서 date() 함수를 이용하여 원하는 포맷으로 날짜를 출력할 수 있다.

보통 HTML과 같은 문서의 최종 변경, 수정일을 표시하기 위해서 SSI(Server Side Include)를 사용한다. 그러나 PHP에서는 getlastmod() 함수를 이용하면 쉽게 문서의 최종 변경일을 얻을 수 있다. 다음을 참조하라.

 

 

 <?

 $time = getlastmod();

 $modified_str = date('Y-m-d H:i:s',$time);

 echo("Last modified: $modified_str");

 ?>

 

 

phpinfo 함수

phpinfo() 함수의 정의는 다음과 같다.

 

 int phpinfo(void)

   웹서버에 설치되어 있는 PHP에 관한 정보를 출력한다.

 

mail 함수

mail() 함수의 정의는 다음과 같다.

 

 bool mail(string to, string sbuject, stering message, string additional_headers);

   지정한 이메일 주소로 전자우편을 발송한다.

mail() 함수에서 첫 번째 인자(새)는 받을 사람의 이메일 주소 두 번째 인자(subject)는 메시지 제목, 세 번째 인자(message)는 메시지 내용, 네 번째 인자는 추가 헤더 정보이다. 네 번째 인자는 생략 가능하며 보통은 앞의 세 인자를 넘겨 mail() 함수를 호출하면 메일을 전송할 수 있다.

 

 

 <?

 $mailto = "dustine@jungle.ac.kr";

 $subject = "A New Message Posted to BBS";

 $contents = "Hello? This is message using mail() function call";

 

 mail($mailto, $subject, $contents);

 ?>

 

위의 6행에서와 같이 mail() 함수를 호출하면 "dustine@jungle.ac.kr"의 이메일 주소로 제목이 "A New Message Posted to BBS:이고 내용이 "Hello? This is message using mail() function call" 인 전자우편이 발송된다. 한편 위의 6행에서 보내는 사람에 대한 정보를 별도로 설정해주지 않을 경우에는 기본적으로 웹서버 프로세스의 사용자(보통 Nobody)가 보내는 사람으로 설정된다.

 

만일 보내는 사람을 특정한 이메일 주소로 지정해 주고자 하면 mail() 함수의 네 번째 인자로서 추가적인 헤더 정보를 전달해야 한다. 또한 메일을 HTML 형식으로 보내고자 할 때에도 이 네 번째 인자에 추가 정보를 전달해야 한다.

 

다음의 예를 보자

 

 

 <?

 $mailto = "dustine@jungle.ac.kr";

 $subject = "A New Message Posted to BBS";

 $contents = "<a href=\"http://safelab.skku.ac.kr\">Hello? This is message using mail() function call</a>";

 $add_header = "From: webmaster@nppsafe.skku.ac.kr\n";

 $add_header .= "Reply-To: jcafe@nppsafe.skku.ac.kr\n";

 $add_header .= "Content-Type: text/html;charset=EUC-KR";

 

 mail($mailto, $subject, $contents,$add_header);

 ?>

 

위의 4행에서 보낼 메시지로 HTML 구문을 지정해 주었다. 이제 이 메일을 상대편이 보았을 때 "Hello? This is message using mail() function call" 이라는 하이퍼링크로 볼 수 있도록 하려면 네 번째 인자로 이 메일의 형식이 HTML 형식이라는 것을 알려주어야 한다.

 

7행의 "Content-Type: text/html;charset=EUC-KR"이 바로 그러한 정보를 전달하는 헤더이다. 5~7행을 보면 보내는 사람 주소와 회신주소, 메일형의 세 가지에 대한 헤더 정보가 함께 전달되는데 이와 같이 여러 개의 헤더 정보를 함께 보낼 때에는 각 헤더를 개행 문자('\n')로 구분하여야 한다. 보내는 사람은 5행에서와 같이 "From : 보내는 사람"으로 지정할 수 있다.

 

die 함수

die() 함수의 정의는 다음과 같다.

 

 void die(string message);

   지정한 메시지를 출력하고 스크립트의 실행을 종료한다.

die() 함수는 제어 구조의 하나로써 Perl에서와 같이 사용자가 지정한 오류 메시지를 출력하고 프로그램의 실행을 종료한다.

 

exit 함수

exit() 함수의 정의는 다음과 같다.

 

 void exit(void);

   스크립트의 실행을 종료한다.

 

 

uniqid 함수

uniqid() 함수의 정의는 다음과 같다.

 

 int uniqid(string prefix);

   uniq id(UID)를 생성한다.

uniqid() 함수는 현재의 시간, 즉 스크립트 실행 시간에 기반을 둔 식별자(UID)를 생성한다. 이러한 식별자는 보통 쇼핑몰이나 회원로그인 등 세션 정보가 필요할 때 사용하는데 만일 허가된 사용자에게 이러한 식별자를 부여하려면 아래와 같은 코드를 통해 식별자를 생성할 수 있다. 생성된 식별자는 32개의 문자로 구성되어 있으며 물론 실행 시마다 다른 값이 생성된다.

 

 

 <?

 $uid = md5(uniqid(rand()));

 echo("uid : $uid");        // "uid : b8a70caf1f366703b6e13ad23d1aab65"

 ?>

 

 

[목차]

개인정보취급방침 서비스이용약관 모바일 버전으로 보기 상단으로

TEL. 063-469-4551 FAX. 063-469-4560 전북 군산시 대학로 558
군산대학교 컴퓨터정보공학과

Copyright © www.leelab.co.kr. All rights reserved.