메뉴 건너뛰기

프로그램언어

2019.02.25 18:10

PHP $_SERVER 함수

조회 수 1558 추천 수 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


  1. No Image 27Oct
    by
    2018/10/27 Views 4091 

    PHP eregi가 빠를까, strpos가 빠를까?

  2. php date 날짜 관련 함수

  3. PHP continue 문

  4. No Image 12Jan
    by
    2023/01/12 Views 270 

    PHP - 공공 DATA XML 파싱(PHP 버전)

  5. No Image 21Jan
    by
    2021/01/21 Views 1141 

    PHP + 유튜브(youtube) 동영상 업로드 연동 소스

  6. No Image 25Feb
    by 조쉬
    2019/02/25 Views 1558 

    PHP $_SERVER 함수

  7. No Image 26Mar
    by
    2021/03/26 Views 690 

    PEAR DB 관련 함수들

  8. No Image 23Dec
    by
    2016/12/23 Views 19774 

    parse_ini_file — Parse a configuration file

  9. No Image 24Jul
    by
    2018/07/24 Views 4798 

    MySQL테이블의 내용을 엑셀파일(xls)로 다운로드 하기

  10. No Image 23Dec
    by
    2016/12/23 Views 18967 

    mysql_result — 결과 데이터를 반환

  11. No Image 23Dec
    by
    2016/12/23 Views 18640 

    mysql_real_escape_string 이진 데이터를 입력할 경우 이 함수를 사용해야 함

  12. No Image 23Dec
    by
    2016/12/23 Views 18752 

    mysql_insert_id

  13. No Image 25Mar
    by
    2021/03/25 Views 353 

    mysql_free_result(); 관련 오류

  14. No Image 23Dec
    by
    2016/12/23 Views 18807 

    mysql_affected_rows — 최근 MySQL 작업으로 변경된 행 개수를 얻음

  15. No Image 28Mar
    by
    2018/03/28 Views 8154 

    MySQL(MariaDB) 테이블 만들기

  16. No Image 27Feb
    by
    2014/02/27 Views 20349 

    mysql 에러 구문 표시

  17. No Image 27Feb
    by
    2014/02/27 Views 19729 

    MYSQL 업데이트 두 번 하기

  18. No Image 26Mar
    by
    2021/03/26 Views 915 

    MYSQL DB의 모든 테이블에서 문자열 검색 하기

  19. No Image 14Apr
    by
    2015/04/14 Views 20157 

    MySQL DB 중복여부 검사하여 없는 것만 추가

  20. No Image 26Mar
    by
    2021/03/26 Views 284 

    MYSQL DB 다중접속을 해결 하는 한 방법

Board Pagination Prev 1 ... 8 9 10 11 12 13 14 15 16 17 Next
/ 17

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

© k2s0o1d4e0s2i1g5n. All Rights Reserved