PHP 슈퍼 전역 변수 에 대한 요약

7631 단어 PHP전역 변수
슈퍼 전역 변 수 는 PHP 4.1.0 이후 에 사 용 됩 니 다.PHP 시스템 에서 자체 적 으로 가 져 온 변수 로 스 크 립 트 의 모든 역할 영역 에서 사용 할 수 있 습 니 다.
PHP 슈퍼 전역 변수
PHP 에서 몇 개의 슈퍼 전역 변수(superglobals)를 미리 정 의 했 습 니 다.이것 은 스 크 립 트 의 모든 역할 영역 에서 사용 할 수 있 음 을 의미 합 니 다.너 는 특별한 설명 이 필요 없 이 함수 와 클래스 에서 사용 할 수 있다.
PHP 슈퍼 전역 변수 목록:
  • $GLOBALS
  • $_SERVER
  • $_REQUEST
  • $_POST
  • $_GET
  • $_FILES
  • $_ENV
  • $_COOKIE
  • $_SESSION
  • 이 장 에서 우 리 는 자주 사용 하 는 슈퍼 전역 변 수 를 설명 할 것 이 며,나머지 변 수 는 다음 몇 장 에서 소개 할 것 이다.
    PHP $GLOBALS
    $GLOBALS 는 PHP 의 모든 역할 영역 에 접근 할 수 있 는 슈퍼 전역 변수 그룹 입 니 다.
    $GLOBALS 는 모든 변 수 를 포함 하 는 전역 그룹 입 니 다.변수의 이름 은 배열 의 키 입 니 다.
    다음 인 스 턴 스 는 슈퍼 전역 변 수 를 사용 하 는 방법 을 소개 합 니 다$GLOBALS:
    
    <?php 
    $x = 75; 
    $y = 25;
     
    function addition() 
    { 
     $GLOBALS['z'] = $GLOBALS['x'] + $GLOBALS['y']; 
    }
     
    addition(); 
    echo $z; 
    ?>
    이상 의 실례 에서 z 는$GLOBALS 배열 의 슈퍼 전역 변수 입 니 다.이 변 수 는 함수 밖에서 도 접근 할 수 있 습 니 다.
    PHP $_SERVER
    $_SERVER 는 헤더 정보(header),경로(path),스 크 립 트 위치(script locations)등 정 보 를 포함 하 는 배열 입 니 다.이 배열 의 항목 은 웹 서버 에서 만 듭 니 다.모든 서버 가 모든 항목 을 제공 할 것 이 라 고 보장 할 수 없습니다.서버 가 무시 하거나 여기에 열거 되 지 않 은 항목 을 제공 할 수도 있 습 니 다.
    아래 실례 에서$를 어떻게 사용 하 는 지 보 여 줍 니 다SERVER 의 요소:
    
    <?php 
    echo $_SERVER['PHP_SELF'];
    echo "<br>";
    echo $_SERVER['SERVER_NAME'];
    echo "<br>";
    echo $_SERVER['HTTP_HOST'];
    echo "<br>";
    echo $_SERVER['HTTP_REFERER'];
    echo "<br>";
    echo $_SERVER['HTTP_USER_AGENT'];
    echo "<br>";
    echo $_SERVER['SCRIPT_NAME'];
    ?>
    아래 표 에 모든$SERVER 변수 에서 중요 한 요소:
    요소/코드
    묘사 하 다.
    $_SERVER['PHP_SELF']
    현재 실행 중인 스 크 립 트 의 파일 이름 은 document root 와 관련 이 있 습 니 다.주소http://example.com/test.php/foo.bar 의 스 크 립 트 중$사용SERVER['PHP_SELF']는/test.php/foo.bar 를 받 습 니 다.FILE__ 현재(예 를 들 어 포함)파일 의 전체 경로 와 파일 이름 을 상수 로 포함 합 니 다.PHP 4.3.0 버 전부터 명령 행 모드 로 PHP 가 실행 되면 이 변 수 는 스 크 립 트 이름 을 포함 합 니 다.이전 버 전 은 이 변 수 를 사용 할 수 없습니다.
    $_SERVER['GATEWAY_INTERFACE']
    서버 에서 사용 하 는 CGI 규범 버 전;예 를 들 어'CGI/1.1'이다.
    $_SERVER['SERVER_ADDR']
    현재 실행 중인 스 크 립 트 가 있 는 서버 의 IP 주소 입 니 다.
    $_SERVER['SERVER_NAME']
    현재 실행 중인 스 크 립 트 가 있 는 서버 의 호스트 이름 입 니 다.스 크 립 트 가 가상 호스트 에서 실행 된다 면 이 이름 은 가상 호스트 가 설정 한 값 에 의 해 결 정 됩 니 다.(예:www.runoob.com)
    $_SERVER['SERVER_SOFTWARE']
    서버 표지 문자열 은 요청 에 응 할 때의 머리 정보 에 표 시 됩 니 다.(아파 치/2.2.24)
    $_SERVER['SERVER_PROTOCOL']
    페이지 를 요청 할 때 통신 프로 토 콜 의 이름과 버 전 입 니 다.예 를 들 어'HTTP/1.0'이다.
    $_SERVER['REQUEST_METHOD']
    페이지 에 접근 하 는 요청 방법;예 를 들 어'GET','HEAD','POST','PUT'등 이다.
    $_SERVER['REQUEST_TIME']
    시작 할 시간 스탬프 를 요청 합 니 다.PHP 5.1.0 부터 사용 할 수 있 습 니 다.(예:1377687496)
    $_SERVER['QUERY_STRING']
    query string(검색 문자열)이 있 으 면 페이지 를 통 해 접근 합 니 다.
    $_SERVER['HTTP_ACCEPT']
    현재 요청 헤더 에 Accept:항목 의 내용 이 존재 한다 면.
    $_SERVER['HTTP_ACCEPT_CHARSET']
    현재 요청 헤더 에 Accept-Charset:항목 의 내용 이 존재 한다 면.예 를 들 어"iso-8859-1,*,utf-8".
    $_SERVER['HTTP_HOST']
    현재 요청 헤더 에 Host:항목 의 내용 이 존재 한다 면.
    $_SERVER['HTTP_REFERER']
    현재 페이지 의 이전 페이지 로 사용자 대 리 를 유도 하 는 주소(존재 할 경우).user 에이전트 설정 으로 결정 합 니 다.모든 사용자 에이전트 가 이 항목 을 설정 하 는 것 은 아니 며,수정 HTTP 도 제공 합 니 다.REFERER 의 기능.요컨대 이 값 은 믿 을 수 없다.)
    $_SERVER['HTTPS']
    스 크 립 트 가 HTTPS 프로 토 콜 을 통 해 접근 된다 면 비어 있 지 않 은 값 으로 설 정 됩 니 다.
    $_SERVER['REMOTE_ADDR']
    현재 페이지 의 사용자 IP 주 소 를 탐색 합 니 다.
    $_SERVER['REMOTE_HOST']
    현재 페이지 의 사용자 호스트 이름 을 탐색 합 니 다.DNS 역 해석 은 사용자 에 게 의존 하지 않 는 REMOTEADDR。
    $_SERVER['REMOTE_PORT']
    사용자 기기 에서 웹 서버 에 사용 할 포트 번호 에 연결 합 니 다.
    $_SERVER['SCRIPT_FILENAME']
    현재 실행 중인 스 크 립 트 의 절대 경로 입 니 다.
    $_SERVER['SERVER_ADMIN']
    이 값 은 아파 치 서버 설정 파일 의 SERVER 를 가 리 킵 니 다.ADMIN 인자.스 크 립 트 가 가상 호스트 에서 실행 된다 면 이 값 은 가상 호스트 의 값 입 니 다.(예:[email protected])
    $_SERVER['SERVER_PORT']
    웹 서버 에서 사용 하 는 포트 입 니 다.기본 값 은'80'입 니 다.SSL 보안 연결 을 사용 하면 이 값 은 사용자 가 설정 한 HTTP 포트 입 니 다.
    $_SERVER['SERVER_SIGNATURE']
    서버 버 전과 가상 호스트 이름 을 포함 하 는 문자열 입 니 다.
    $_SERVER['PATH_TRANSLATED']
    현재 스 크 립 트 가 있 는 파일 시스템(비 문서 루트 디 렉 터 리)의 기본 경로 입 니 다.서버 에서 실제 경로 로 가상 한 이미 지 를 만 든 결과 입 니 다.
    $_SERVER['SCRIPT_NAME']
    현재 스 크 립 트 를 포함 하 는 경로 입 니 다.이것 은 페이지 에서 자신 을 가리 킬 때 매우 유용 하 다.FILE__ 현재 스 크 립 트(예 를 들 어 파일 포함)의 전체 경로 와 파일 이름 을 상수 로 포함 합 니 다.
    $_SERVER['SCRIPT_URI']
    URI 는 접근 할 페이지 를 지정 하 는 데 사 용 됩 니 다.예 를 들 어'/index.html'.
    PHP $_REQUEST
    PHP $_REQUEST 는 HTML 폼 이 제출 한 데 이 터 를 수집 하 는 데 사 용 됩 니 다.
    다음 인 스 턴 스 는 입력 필드(input)와 제출 단추(submit)의 폼(form)을 보 여 줍 니 다.사용자 가"Submit"단 추 를 누 르 면 폼 데 이 터 를 제출 할 때 폼 데 이 터 는
    탭 에서 action 속성 에서 지정 한 스 크 립 트 파일 로 보 냅 니 다.이 인 스 턴 스 에서 우 리 는 폼 데 이 터 를 처리 할 파일 을 지정 합 니 다.이 데 이 터 를 다른 PHP 파일 로 처리 하 기 를 원한 다 면 지정 한 스 크 립 트 파일 이름 을 수정 할 수 있 습 니 다.그리고 우 리 는 슈퍼 전역 변 수 를 사용 할 수 있 습 니 다$REQUEST 는 폼 의 input 필드 데 이 터 를 수집 합 니 다:
    
    <html>
    <body>
     
    <form method="post" action="<?php echo $_SERVER['PHP_SELF'];?>">
    Name: <input type="text" name="fname">
    <input type="submit">
    </form>
     
    <?php 
    $name = $_REQUEST['fname']; 
    echo $name; 
    ?>
     
    </body>
    </html>
    PHP $_POST
    PHP $_POST 는 폼 데 이 터 를 수집 하 는 데 널리 사용 되 며 HTML form 태그 에서 이 속성 을 지정 합 니 다:"method="post".
    다음 인 스 턴 스 는 입력 필드(input)와 제출 단추(submit)의 폼(form)을 보 여 줍 니 다.사용자 가"Submit"단 추 를 누 르 면 폼 데 이 터 를 제출 할 때 폼 데 이 터 는탭 에서 action 속성 에서 지정 한 스 크 립 트 파일 로 보 냅 니 다.이 인 스 턴 스 에서 우 리 는 폼 데 이 터 를 처리 할 파일 을 지정 합 니 다.이 데 이 터 를 다른 PHP 파일 로 처리 하 기 를 원한 다 면 지정 한 스 크 립 트 파일 이름 을 수정 할 수 있 습 니 다.그리고 우 리 는 슈퍼 전역 변 수 를 사용 할 수 있 습 니 다$POST 는 폼 의 input 필드 데 이 터 를 수집 합 니 다:
    
    <html>
    <body>
     
    <form method="post" action="<?php echo $_SERVER['PHP_SELF'];?>">
    Name: <input type="text" name="fname">
    <input type="submit">
    </form>
     
    <?php 
    $name = $_POST['fname']; 
    echo $name; 
    ?>
     
    </body>
    </html>
    PHP $_GET
    PHP $_GET 역시 폼 데 이 터 를 수집 하 는 데 널리 사용 되 며 HTML form 태그 에서 이 속성 을 지정 합 니 다:"method="get".
    $_GET 도 URL 에서 보 낸 데 이 터 를 수집 할 수 있다.
    매개 변 수 를 포함 하 는 하이퍼링크 HTML 페이지 가 있다 고 가정 합 니 다.
    
    <html>
    <body>
    
    <a href="test_get.php?subject=PHP&web=runoob.com" rel="external nofollow" >Test $GET</a>
    
    </body>
    </html>
    사용자 가"Test$GET"링크 를 클릭 하면 인자"subject"와"웹"은"test"로 전 송 됩 니 다.get.php","test "에서get.php"파일 에$사용GET 변 수 는 이 데 이 터 를 가 져 옵 니 다.
    다음 인 스 턴 스 는"test"를 보 여 줍 니 다.get.php"파일 의 코드:
    
    <html>
    <body>
     
    <?php 
    echo "Study " . $_GET['subject'] . " @ " . $_GET['web'];
    ?>
     
    </body>
    </html>
    이상 은 PHP 슈퍼 전역 변수 에 대한 상세 한 내용 입 니 다.더 많은 PHP 슈퍼 전역 변수 에 대한 자 료 는 우리 의 다른 관련 글 을 주목 하 세 요!

    좋은 웹페이지 즐겨찾기