사이트 내 전체검색
PHP
[PHP] register_globals on 과 off 차이점 (2009-08-24 수정)
로빈아빠
https://cmd.kr/php/639 URL이 복사되었습니다.

본문

[ register_globals on 과 off 의 차이점 ]

register_globals = on
  가능 -> $_POST['user_name']
  가능 -> $user_name
register_globals = off
  가능 -> $_POST['user_name']
  불가능 -> $user_name  // 다만 extract()로 처리하면 가능

문서의 상단에 아래와 같이 처리하면 기존과 같이 사용이 가능합니다.
<?
// php.ini 의 register_globals=off 일 경우  (php >= 4.1.0)
@extract($_GET);
@extract($_POST);
@extract($_SERVER);
?>


[ $_POST와 $HTTP_POST_VARS는 차이 ]

long 타입이 예전부터 쓰이던 것이고, 짧은 타입은 4.1.0 이후로 생긴 것입니다.
두 배열은 같은 키와 같은 값을 가지고 있으므로 내용상 똑같습니다. 하지만 서로 다른 변수입니다.
결정적으로 다른점은 짧은 타입의 경우 "자동전역(SuperGlobal)변수"이지만 긴 타입은 그렇지 않습니다.
즉, $_POST는 함수선언에서 global $_POST; 로 선언하지 않고 사용이 가능하지만 $_HTTP_POST_VARS 는 선언을 해야만 전역으로 인식합니다.
짧은 형식이 사용권장되는 변수이며, 긴 형식은 php 5.x 에서 지원되지 않을수 있습니다.


참고사이트
http://blog.naver.com/lsv400?Redirect=Log&logNo=100042963735
http://blog.naver.com/joniel?Redirect=Log&logNo=40003501259
http://blog.empas.com/uniboard/20064730

댓글목록

등록된 댓글이 없습니다.

PHP
871 (7/18P)

Search

Copyright © Cmd 명령어 3.144.6.29