메뉴 건너뛰기

프로그램언어

2019.02.25 18:10

PHP $_SERVER 함수

조회 수 1611 추천 수 0 댓글 0
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄

$_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
웹 경로 http://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;
 //=>  http://happyjung.com


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


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


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


 // 문서의 전체 URI
 echo $base_URL . $_SERVER['REQUEST_URI'];
 //=>  http://joshi.co.kr/page/1234.php


List of Articles
번호 제목 날짜 조회 수
260 13자리 timestamp 생성하기 file 2020.09.28 719
259 cUrl를 이용한 json 데이타 주고 받기 2020.09.28 1313
258 Javascript 두 좌표 사이의 거리 구하기, 두 좌표의 중앙 좌표 구하기 file 2020.09.23 618
257 네이버 지도 API를 이용한 주소를 좌표로 변환하기 (PHP) 2020.09.22 613
256 사업자등록번호 유효성 체크 2020.08.24 536
255 멀티 파일다운로드 꽁수로 구현하기 2020.06.19 668
254 파일 다운로드 함수(멀티 이어받기/속도제한) 2020.06.19 820
253 다중 파일을 zip으로 묶어받기 2020.06.19 717
252 사진이 회전되서 올라갈 경우 2020.05.25 844
251 PHP 버전이 낮아 imagerotate() 함수가 없을때 대신 사용하는 함수 2019.12.31 705
250 PHP 외부 XML 파싱 하기 2019.06.24 2011
249 주간단위 시작일에서 종료일을 셀렉트박스로 만들기. file 2019.04.29 1691
248 utf-8 문자열을 주어진 바이트로 자르기 2019.04.29 1442
» PHP $_SERVER 함수 2019.02.25 1611
246 PHP에서 UTF와 EUC-KR 변환 2019.02.19 1612
245 PHP 가변변수 $$ file 2019.02.19 1521
244 PHP http 를 https 로 전환(redirect), http->https 2019.02.19 2255
243 input 자동완성기능 끄기 2019.02.19 1290
242 dddotag - 허용하지 않는 태그 걸러내기 2019.01.16 1913
241 애니메이션 gif 와 일반 gif 구분 하기 2019.01.16 1381
Board Pagination Prev 1 2 3 4 5 6 7 8 9 10 ... 17 Next
/ 17

하단 정보를 입력할 수 있습니다

© k2s0o1d4e0s2i1g5n. All Rights Reserved