>백엔드 개발 >PHP 튜토리얼 >PHP에서 $_SERVER의 자세한 사용법

PHP에서 $_SERVER의 자세한 사용법

不言
不言원래의
2018-04-04 10:12:2715538검색

이 글의 내용은 PHP에서 $_SERVER의 자세한 사용법입니다. 이제 모든 사람과 공유하고, 도움이 필요한 친구들에게도 참고할 수 있습니다

$_SERVER['PHP_SELF'] #현재의 파일 이름 스크립트 실행 및 루트 관련 문서.
$_SERVER['argv'] # 매개변수가 스크립트에 전달되었습니다.
$_SERVER['argc'] # 프로그램에 전달된 명령줄 매개변수의 수를 포함합니다(명령줄 모드에서 실행하는 경우).
$_SERVER['GATEWAY_INTERFACE'] #서버에서 사용하는 CGI 사양의 버전입니다. 예를 들어 "CGI/1.1"입니다.
$_SERVER['SERVER_NAME'] #스크립트가 현재 실행 중인 서버 호스트의 이름입니다.
$_SERVER['SERVER_SOFTWARE'] # 서버가 식별하는 문자열로, 요청에 응답할 때 헤더에 제공됩니다.
$_SERVER['SERVER_PROTOCOL'] #페이지 요청 시 통신 프로토콜의 이름과 버전. 예를 들어 "HTTP/1.0"입니다.
$_SERVER['REQUEST_METHOD'] #페이지 접속 시 메소드를 요청합니다. 예: "GET", "HEAD", "POST", "PUT".
$_SERVER['QUERY_STRING'] #쿼리 문자열.
$_SERVER['DOCUMENT_ROOT'] # 현재 실행 중인 스크립트가 위치한 문서 루트 디렉터리입니다. 서버 구성 파일에 정의되어 있습니다.
$_SERVER['HTTP_ACCEPT'] #현재 요청의 Accept: 헤더 내용.
$_SERVER['HTTP_ACCEPT_CHARSET'] # Accept-Charset의 내용: 현재 요청의 헤더. 예: "iso-8859-1,*,utf-8".
$_SERVER['HTTP_ACCEPT_ENCODING'] #현재 요청의 Accept-Encoding: 헤더 내용. 예: "gzip".
$_SERVER['HTTP_ACCEPT_LANGUAGE']#Accept-Language 내용: 현재 요청의 헤더. 예: "en".
$_SERVER['HTTP_CONNECTION'] #연결 내용: 현재 요청의 헤더. 예: "연결 유지".
$_SERVER['HTTP_HOST'] #호스트 내용: 현재 요청의 헤더.
$_SERVER['HTTP_REFERER'] #현재 페이지에 연결된 이전 페이지의 URL 주소입니다.
$_SERVER['HTTP_USER_AGENT'] #User_Agent의 내용: 현재 요청의 헤더.
$_SERVER['HTTPS'] — https를 통해 액세스하는 경우 비어 있지 않은 값(on)으로 설정되고, 그렇지 않으면 off를 반환합니다.
$_SERVER['REMOTE_ADDR'] # 탐색 중인 사용자의 IP 주소 현재 페이지.
$_SERVER['REMOTE_HOST'] #현재 페이지를 탐색하고 있는 사용자의 호스트 이름입니다.
$_SERVER['REMOTE_PORT'] #사용자가 서버에 연결하는 데 사용하는 포트입니다.
$_SERVER['SCRIPT_FILENAME'] # 현재 실행 중인 스크립트의 절대 경로 이름입니다.
$_SERVER['SERVER_ADMIN'] #관리자 정보
$_SERVER['SERVER_PORT'] #서버가 사용하는 포트
$_SERVER['SERVER_SIGNATURE'] #서버 버전과 가상 호스트 이름이 포함된 문자열입니다.
$_SERVER['PATH_TRANSLATED'] # 현재 스크립트가 위치한 파일 시스템의 기본 경로(문서 루트 디렉터리 아님)입니다.
$_SERVER['SCRIPT_NAME'] # 현재 스크립트의 경로를 포함합니다. 이는 페이지가 자신을 가리켜야 할 때 유용합니다.
$_SERVER['REQUEST_URI'] # 이 페이지에 액세스하는 데 필요한 URI입니다. 예를 들어 "/index.html"입니다.
$_SERVER['PHP_AUTH_USER'] #PHP가 Apache 모듈 모드로 실행되고 HTTP 인증 기능을 사용하는 경우 이 변수는 사용자가 입력한 사용자 이름입니다.
$_SERVER['PHP_AUTH_PW'] #PHP가 아파치 모듈 모드로 실행되고 HTTP 인증 기능을 사용할 때 이 변수는 사용자가 입력한 비밀번호입니다.
$_SERVER['AUTH_TYPE'] #PHP가 Apache 모듈 모드로 실행되고 HTTP 인증 기능을 사용하는 경우 이 변수는 인증 유형입니다.
$_SERVER["HTTP_X_FORWARDED_FOR"] #프록시 서버를 통해 클라이언트의 실제 IP 주소를 가져옵니다
$_SERVER['HTTP_VIA'] #프록시 서버 IP
$_SERVER['HTTP_CLIENT_IP'] #클라이언트 IP

서버 변수: $_SERVER

참고: PHP 4.1.0 이상 버전에서 사용됩니다. 이전 버전에서는 $HTTP_SERVER_VARS를 사용했습니다.

$_SERVER는 헤더, 경로, 스크립트 위치 등을 포함하는 배열입니다. 배열의 엔터티는 웹 서버에 의해 생성됩니다. 모든 서버가 모든 메시지를 생성한다는 보장은 없습니다. 서버가 일부 메시지를 무시하거나 아래에 나열되지 않은 새 메시지를 생성할 수도 있습니다. 이는 이러한 변수 중 다수가 CGI 1.1 사양에 지정되어 있으므로 주의 깊게 연구해야 함을 의미합니다.

이것은 "수퍼글로벌"이거나 자동 전역 변수로 설명될 수 있습니다. 이는 모든 스크립트에서 작동한다는 의미입니다. $HTTP_SERVER_VARS와 마찬가지로 함수나 메소드 내에서 액세스하기 위해 전역 $_SERVER를 사용할 필요가 없습니다.

$HTTP_SERVER_VARS에는 동일한 정보가 포함되어 있지만 자동 전역 변수는 아닙니다. (참고: $HTTP_SERVER_VARS와 $_SERVER는 서로 다른 변수이며 PHP는 이를 다르게 처리합니다.)

이 변수는 $_SERVER와 $HTTP_SERVER_VARS가 분리된 배열인 경우에만 모든 스크립트에서 사용할 수 있습니다. 관련 정보는 보안 관련 장인 전역 등록 사용을 참조하세요. 이러한 개별 전역 변수는 자동 전역 변수가 아닙니다.

아래 나열된 $_SERVER 요소 중 일부를 사용할 수 없는 경우도 있습니다. 명령줄에서 PHP를 실행하는 경우 아래 나열된 요소 중 일부는 유효하거나 실제 의미가 없습니다.

"PHP_SELF"
문서 루트와 관련된 현재 실행 중인 스크립트의 파일 이름입니다. 예를 들어 URL 주소가
http://easyboor.com/test.php/foo.bar인 스크립트에서 $_SERVER['PHP_SELF']를 사용하면 /test.php/foo.bar 결과를 얻게 됩니다.

PHP가 명령줄 모드에서 실행 중인 경우 이 변수는 효과가 없습니다.

"argv"
인수가 이 스크립트에 전달되었습니다. 스크립트가 명령줄 모드에서 실행되면 argv 변수가 C 스타일 명령줄 인수로 프로그램에 전달됩니다. GET 메소드가 호출되면 이 변수에는 요청된 데이터가 포함됩니다.

"argc"
프로그램에 전달된 명령줄 인수의 수를 포함합니다(명령줄 모드에서 실행하는 경우).

"GATEWAY_INTERFACE"
서버에서 사용하는 CGI 사양 버전입니다. 예를 들어 "CGI/1.1"입니다.

'SERVER_NAME'
스크립트가 현재 실행 중인 서버 호스트의 이름입니다. 스크립트가 가상 호스트에서 실행 중인 경우 이름은 해당 가상 호스트에 설정된 값에 따라 결정됩니다.

'SERVER_SOFTWARE'
요청에 응답할 때 헤더에 제공되는 서버를 식별하는 문자열입니다.

"SERVER_PROTOCOL"
페이지 요청 시 통신 프로토콜의 이름과 버전입니다. 예를 들어 "HTTP/1.0"입니다.

"REQUEST_METHOD"
페이지 접속 시 요청 방식입니다. 예: "GET", "HEAD", "POST", "PUT".

"QUERY_STRING"
쿼리 문자열입니다.

"DOCUMENT_ROOT"
현재 실행 중인 스크립트가 위치한 문서 루트 디렉터리입니다. 서버 구성 파일에 정의되어 있습니다.

"HTTP_ACCEPT"
Accept 내용: 현재 요청의 헤더.

"HTTP_ACCEPT_CHARSET"
Accept-Charset의 내용: 현재 요청의 헤더. 예: "iso-8859-1,*,utf-8".

"HTTP_ACCEPT_ENCODING"
현재 요청의 Accept-Encoding: 헤더 내용입니다. 예: "gzip".

"HTTP_ACCEPT_LANGUAGE"
Accept-Language의 내용: 현재 요청의 헤더. 예: "en".

"HTTP_CONNECTION"
연결 내용: 현재 요청의 헤더. 예: "연결 유지".

"HTTP_HOST"
호스트 내용: 현재 요청의 헤더.

"HTTP_REFERER"
현재 페이지에 연결된 이전 페이지의 URL 주소입니다. 모든 사용자 에이전트(브라우저)가 이 변수를 설정하는 것은 아니며 일부는 HTTP_REFERER를 수동으로 수정할 수도 있습니다. 따라서 이 변수가 항상 참인 것은 아닙니다.

"HTTP_USER_AGENT"
User_Agent의 내용: 현재 요청의 헤더. 이 문자열은 이 페이지에 액세스하는 사용자 에이전트에 대한 정보를 나타냅니다. 일반적인 예는 다음과 같습니다: Mozilla/4.5 [en] (X11; U; Linux 2.2.9 i586). get_browser()를 사용하여 이 정보를 얻을 수도 있습니다.

"REMOTE_ADDR"
현재 페이지를 탐색하고 있는 사용자의 IP 주소입니다.

'REMOTE_HOST'
현재 페이지를 탐색하고 있는 사용자의 호스트 이름입니다. 역방향 도메인 이름 확인은 사용자의 REMOTE_ADDR을 기반으로 합니다.

참고: 이 변수를 생성하려면 웹 서버를 구성해야 합니다. 예를 들어 Apache에서는 httpd.conf에 HostnameLookups On이 필요합니다. gethostbyaddr()을 참조하세요.

"REMOTE_PORT"
사용자가 서버에 연결하는 데 사용하는 포트입니다.

"SCRIPT_FILENAME"
현재 실행 중인 스크립트의 절대 경로 이름입니다.

"SERVER_ADMIN"
이 값은 Apache 서버 구성 파일의 SERVER_ADMIN 매개변수를 지정합니다. 스크립트가 가상 호스트에서 실행 중인 경우 이 값은 해당 가상 호스트의 값입니다.

"SERVER_PORT"
서버가 사용하는 포트입니다. 기본값은 "80"입니다. SSL 보안 연결을 사용하는 경우 이 값은 설정한 HTTP 포트입니다.

"SERVER_SIGNATURE"
서버 버전과 가상 호스트 이름이 포함된 문자열입니다.

"PATH_TRANSLATED"
현재 스크립트가 위치한 파일 시스템의 기본 경로(문서 루트 아님)입니다. 이는 서버를 가상 경로에서 실제 경로로 이미지화한 후의 결과입니다.

"SCRIPT_NAME"
에는 현재 스크립트의 경로가 포함되어 있습니다. 이는 페이지가 자신을 가리켜야 할 때 유용합니다.

"REQUEST_URI"
이 페이지에 액세스하는 데 필요한 URI입니다. 예를 들어 "/index.html"입니다.

"PHP_AUTH_USER"
PHP가 Apache 모듈 모드에서 실행되고 HTTP 인증 기능을 사용하는 경우 이 변수는 사용자가 입력한 사용자 이름입니다.

"PHP_AUTH_PW"
PHP가 Apache 모듈 모드로 실행되고 HTTP 인증 기능을 사용할 때 이 변수는 사용자가 입력한 비밀번호입니다.

"AUTH_TYPE"
PHP가 Apache 모듈 모드에서 실행되고 HTTP 인증 기능을 사용하는 경우 이 변수는 인증 유형입니다.

관련 추천:

PHP의 $_SERVER 사용 요약 공유

PHP의 $_SERVER 자세히 설명

php의 $_SERVER 함수 분석


위 내용은 PHP에서 $_SERVER의 자세한 사용법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.