PHP_SELF vs PATH_INFO vs SCRIPT_NAME vs REQUEST_URI 차이점 > 기술자료 | 해피정닷컴

PHP_SELF vs PATH_INFO vs SCRIPT_NAME vs REQUEST_URI 차이점 > 기술자료

본문 바로가기

사이트 내 전체검색

PHP_SELF vs PATH_INFO vs SCRIPT_NAME vs REQUEST_URI 차이점 > 기술자료

PHP PHP_SELF vs PATH_INFO vs SCRIPT_NAME vs REQUEST_URI 차이점

페이지 정보


본문

<form method="post" action="<?php echo $PHP_SELF?>">


PHP 에서 많이 사용하는 서버 변수들 중에서 아래 세가지 변수는 비슷한 값을 가진다.

$_SERVER['PHP_SELF']
$_SERVER['SCRIPT_NAME']
$_SERVER['REQUEST_URI']

하지만, 비슷하긴 해도 조금 복잡하게 들어가면 서로 다르다. 


Example 1. 요청된 URL 이 다음과 같을때:
http://example.com/test.php/foo/bar

$_SERVER['PHP_SELF'] => /test.php/foo/bar
$_SERVER['SCRIPT_NAME'] => /test.php
(this seems to be the only case when PATH_INFO contains sensible information [PATH_INFO] => /foo/bar) Note: this used to be different in some older PHP versions (<= 5.0 ?).


Example 2. REQUEST_URI 는 파라미터를 포함하고, SCRIPT_NAME 은 파라미터를 포함하지 않는다.:
http://example.com/test.php?foo=bar

$_SERVER['SCRIPT_NAME'] => /test.php
$_SERVER['REQUEST_URI'] => /test.php?foo=bar


Example 3. 서버측 리다이렉션이 동작했을 때 (for example mod_rewrite on apache):
http://example.com/test.php

$_SERVER['REQUEST_URI'] => /test.php
$_SERVER['SCRIPT_NAME'] => /test2.php


Example 4. REQUEST_URI is different from SCRIPT_NAME when handling HTTP errors with scripts.
Using apache directive ErrorDocument 404 /404error.php
http://example.com/test.php

$_SERVER['REQUEST_URI'] => /test.php
$_SERVER['SCRIPT_NAME'] => /404error.php

On IIS server using custom error pages
http://example.com/test.php

$_SERVER['SCRIPT_NAME'] => /404error.php
$_SERVER['REQUEST_URI'] => /404error.php?404;http://example.com/test.php



참고자료
http://pjongy.tistory.com/150
http://moyaria.tistory.com/entry/PHP-에서-서버변수인-PHPSELF-SCRIPTNAME-REQUESTURI-차이점
https://stackoverflow.com/questions/279966/php-self-vs-path-info-vs-script-name-vs-request-uri

댓글목록

등록된 댓글이 없습니다.


Total 2,641건 78 페이지
  • RSS
기술자료 목록
1101
MySQL   13581  2012-04-01 12:30  
1100
ClassicASP   15920  2012-04-01 09:14 ~ 2012-04-01 00:00  
열람
PHP   24995  2012-03-31 17:48 ~ 2018-12-17 14:52  
1098
PHP   18605  2012-03-31 11:03  
1097
ClassicASP   19905  2012-03-27 13:14  
1096
PHP   92417  2012-03-26 22:22  
1095
ClassicASP   26475  2012-03-26 20:16  
1094
PHP   52017  2012-03-24 22:40 ~ 2012-03-31 00:00  
1093
ClassicASP   14845  2012-03-24 01:04 ~ 2012-07-30 00:00  
1092
ClassicASP   12180  2012-03-23 23:12  
1091
ClassicASP   15920  2012-03-23 21:03 ~ 2013-11-06 00:00  
1090
.NET   20482  2012-03-21 10:53  
1089
일반   19702  2012-03-21 00:56 ~ 2018-05-25 18:09  
1088
전자결제   14652  2012-03-20 20:32  
1087
전자결제   15899  2012-03-20 20:09  
1086
전자결제   18412  2012-03-20 20:08 ~ 2017-03-10 00:00  
1085
SQL   12094  2012-03-19 21:54  
1084
SQL   13242  2012-03-19 21:40  
1083
SQL   17075  2012-03-19 21:36  
1082
SQL   12719  2012-03-19 20:39  

검색

해피정닷컴 정보

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

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