PHP $_SERVER 함수 > 기술자료 | 해피정닷컴

PHP $_SERVER 함수 > 기술자료

본문 바로가기

사이트 내 전체검색

PHP $_SERVER 함수 > 기술자료

PHP PHP $_SERVER 함수

페이지 정보


본문

$_SERVER['DOCUMENT_ROOT'] == 현재 사이트가 위치한 서버상의 위치
=> /webapp/include  ,   윈도우서버인경우...  적용불가
리눅스  <?php include_once $_SERVER['DOCUMENT_ROOT']."/inc/header.php"; ?>
윈도우  <?php include_once "c:/inetpub/wwwroot/inc/header.php"; ?>

$_SERVER['HTTP_ACCEPT_ENCODING'] == 인코딩 방식
=>  gzip, deflate

$_SERVER['HTTP_ACCEPT_LANGUAGE'] == 언어
=>  ko

$_SERVER['HTTP_USER_AGENT'] == 사이트 접속한 사용자 환경(브라우저 정보)
=>  Mozilla/4.0(compatible; MSIE 6.0; Windows NT 5.1; Q312461; .NET CLR 1.0.3705

$_SERVER['REMOTE_ADDR'] == 사이트 접속한 사용자 IP ( 프록시 서버가 있는 경우 사설아이피가 보이기도)
=>  xxx.xxx.xxx.xxx  ,  10.x.x.x

$_SERVER['HTTP_CLIENT_IP'] == 사이트 접속한 사용자 IP
=>  xxx.xxx.xxx.xxx 

$_SERVER['SCRIPT_FILENAME'] == 실행되고 있는 위치와 파일명
=>  webapp/include/index.php

$_SERVER['SERVER_ADDR'] == 서버 아이피
=>  111.111.111.111

$_SERVER['SERVER_NAME'] == 사이트 도메인    (웹서버 버추얼 호스트에 지정한 도메인)
=>  www.happyjung.com   또는   happyjung.com

$_SERVER['HTTP_HOST'] == 사이트 도메인    (client 웹브라우저가 접속할 때 사용한 도메인)
=>  www.happyjung.com   또는   happyjung.com

$_SERVER['HTTP_REFERER']  현재 페이지로 오기 전에 페이지의 주소값을 가져올 때
[주의]
1) 주소창에 직접 주소를 입력해서 방문하는 경우 : HTTP_REFERER의 값 가져오지 못한다
2) '즐겨찾기'를 이용해서 방문(IE에서 해당)하는 경우 :  HTTP_REFERER 값 가져오지 못한다
3) 링크를 통해서 방문.(a태그) : HTTP_REFERER 값 가져온다
4) 자바스크립트 location.href를 통해 방문 : 브라우저에 따라 HTTP_REFERER 값 가져오거나, 가져오지 못한다

$_SERVER['SERVER_PORT'] == 사이트가 사용하는 포트
=>  80

$_SERVER['SERVER_SOFTWARE'] == 서버의 소프트웨어 환경
=>  Apache/1.3.23 (Unix) PHP/4.1.2 mod_fastcgi/2.2.10 mod_throttle/3.1.2 mod_ssl/2.8.6 OpenSSL/0.9.6c

$_SERVER['GATEWAY_INTERFACE'] == CGI 정보
=>  CGI/1.1

$_SERVER['SERVER_PROTOCOL'] == 사용된 서버 프로토콜
=>  HTTP/1.1

$_SERVER['REQUEST_URI'] == 현재페이지의 주소에서 도메인 제외
=>  /index.php?user=???&name=???

$_SERVER['PHP_SELF'] == 현재페이지의 주소에서 도메인과 넘겨지는 값 제외
=>  / index.php

$_SERVER['APPL_PHYSICAL_PATH'] == 현재페이지의 실제 파일 주소
=>  D:\\webapp/

$_SERVER['HTTPS'] == https 일때는 on 을 , http 일때는 값없음
=>  on



예를 들어 1234.php 파일의 위치가
서버경로 /home/happyjung/public_html/page/1234.php
웹 경로 https://www.happyjung.com/page/1234.php 문서의 다양한 위치결과확인


// 파일 이름이 들어간 절대 서버 경로
echo realpath(__FILE__);
//=>  /home/happyjung/public_html/page/1234.php


// 파일 이름
echo basename(__FILE__);
//=>  1234.php


// 파일 이름을 뺀 절대 서버 경로
echo str_replace(basename(__FILE__), "", realpath(__FILE__));
//=>  /home/happyjung/public_html/page/


// 서버의 웹 뿌리(루트) 경로(절대 경로)
echo $_SERVER['DOCUMENT_ROOT'];
//=>  /home/happyjung/public_html


// 웹 문서의 뿌리 경로를 뺀 상대 경로
echo preg_replace("`\/[^/]*\.php$`i", "/", $_SERVER['PHP_SELF']);
//=>  /page/


// PHP 파일 이름이 들어간 상대 경로
echo preg_replace("`\/[^/]*\.php$`i", "/", $_SERVER['PHP_SELF']) . basename(__FILE__);
//=>  /page/1234.php


// 바탕 base_URL
// 서버 중 일부에서 $_SERVER['HTTPS'] 는 정의되지 않은 변수이므로 오류가 발생합니다.
if(isset($_SERVER['HTTPS'])) {
    if ($_SERVER['HTTPS'] == "on") {
        $secure_connection = true;
        $base_URL = "https://";
    }
} else {
    $base_URL = "http://";
}
//$base_URL = ($_SERVER['HTTPS'] == 'on') ? 'https://' : 'http://';
$base_URL .= ($_SERVER['SERVER_PORT'] != '80') ? $_SERVER['HTTP_HOST'] . ':' . $_SERVER['SERVER_PORT'] : $_SERVER['HTTP_HOST'];
echo $base_URL;
//=>  https://www.happyjung.com


// PHP 파일이 있는 곳의 웹 경로
// 파일의 위치가 https://www.happyjung.com/123/456.html 일때
echo $base_URL . preg_replace("`\/[^/]*\.php$`i", "/", $_SERVER['PHP_SELF']);
//=>  https://www.happyjung.com/page/


// PHP 파일이 있는 곳의 웹 경로
// 파일의 위치가 https://www.happyjung.com/123/456.html 일때
echo $base_URL . preg_replace("`\/[^/]*\.php$`i", "", $_SERVER['PHP_SELF']);
//=>  https://www.happyjung.com/page


// 문서의 전체 URL
echo $base_URL . preg_replace("`\/[^/]*\.php$`i", "/", $_SERVER['PHP_SELF']) . basename(__FILE__);
//=>  https://www.happyjung.com/page/1234.php


// 문서의 전체 URI
echo $base_URL . $_SERVER['REQUEST_URI'];
//=>  https://www.happyjung.com/page/1234.php


참고자료
http://cafe.naver.com/frame77.cafe?iframe_url=/ArticleRead.nhn%3Farticleid=45
http://stackoverflow.com/questions/1459739/php-serverhttp-host-vs-serverserver-name-am-i-understanding-the-ma
https://pat.im/817 
http://88240.tistory.com/215
https://code.i-harness.com/ko/q/11ee38

댓글목록

등록된 댓글이 없습니다.


Total 195건 9 페이지
  • RSS
기술자료 목록
35
PHP   13817  2007-10-02 08:50  
34
PHP   39163  2007-09-06 20:23  
33
PHP   17330  2007-08-15 19:39  
32
PHP   21747  2007-08-04 07:22 ~ 2020-02-08 20:56  
31
PHP   22330  2007-07-23 22:58 ~ 2019-01-11 23:03  
30
PHP   16798  2007-07-20 08:21  
29
PHP   21607  2007-06-28 17:40  
28
PHP   20342  2007-06-07 21:25 ~ 2024-03-19 17:26  
27
PHP   16656  2007-05-28 21:12  
26
PHP   21547  2007-05-05 04:48  
25
PHP   37525  2006-12-17 00:24  
24
PHP   27756  2006-11-04 07:22 ~ 2020-10-05 12:20  
23
PHP   24161  2006-10-28 11:21 ~ 2018-04-10 04:32  
열람
PHP   21317  2006-09-30 18:43 ~ 2019-02-19 16:29  
21
PHP   21274  2006-08-05 21:30 ~ 2022-03-03 13:46  
20
PHP   17488  2006-08-05 14:45 ~ 2024-02-01 10:32  
19
PHP   18014  2006-08-04 22:47 ~ 2007-07-21 00:00  
18
PHP   48820  2006-08-03 14:58 ~ 2024-02-20 11:14  
17
PHP   19547  2006-07-11 20:07 ~ 2024-10-18 09:37  
16
PHP   14130  2006-07-01 11:56 ~ 2023-09-18 08:16  

검색

해피정닷컴 정보

회사소개 회사연혁 협력사 오시는길 서비스 이용약관 개인정보 처리방침

회사명: 해피정닷컴   대표: 정창용   전화: 070-7600-3500   팩스: 042-670-8272
주소: (34368) 대전시 대덕구 대화로 160 대전산업용재유통단지 1동 222호
개인정보보호책임자: 정창용   사업자번호: 119-05-36414
통신판매업신고: 제2024-대전대덕-0405호 [사업자등록확인]  
Copyright 2001~2024 해피정닷컴. All Rights Reserved.