$GLOBALS['aaa'] = "안녕";
echo $aaa;
function aabb() {
echo $GLOBALS['aaa'];
}
안녕이 두번 출력 될 것이다.
함수 안에 전역변수로 설정 했으면, 함수 안에서 전역인지 지역인지 나타내줘야 한다.
그럼 왜 수퍼전역이냐?
function aabb() {
$GLOBALS['aaa'] = "안녕";
}
echo $GLOBALS['aaa'];
이게 출력이 된다.
함수 안에서 선언 해도 전역변수로 취급되어 함수 밖에서도 쓸 수 있다
print_r($_SERVER);
localhost인지, 서버소프트웨어가 무엇인지, PHP 버전, PHP파일의 경로, 쿼리 스트링, 등이 배열로 들어 있다.
키, 벨류로 구성된 제이슨 형식이기에 $_SERVER['키값']으로 벨류값을 가져올 수 있다
<?php
echo $_SERVER['PHP_SELF'];
?>
<a href="<?= $_SERVER['PHP_SELF']; ?>?a=b>b값을 가져오기</a>
이런식으로 작성하게 되면
/6.php b 값을 가져오기
라고 렌더링 될 것이다
<?php
echo $_SERVER['HTTP_USER_AGENT'];
?>
이렇게 쓰면 유저의 브라우저 정보가 나온다
<?php
$ag = $_SERVER['HTTP_USER_AGENT'];
if (strpos($ag, 'Chrome')) {
echo '크롬 유저시군요';
}else {
echo '크롬 써라';
}
?>
이런식으로 브라우저를 확인해서 검증가능
srtpos를 통해 해당 단어가 해당 배열에 어디에 위치 해 있는가 리턴 받아서 0이 아닌 정수가 나오기에 ture로 인식 된다
<?php
echo $_SERVER['REMOTE_ADDR'];
?>
$_SERVER를 렌더 해서 보면 해당 벨류값이 안보이지만 위를 렌더 해서 보면, 특정 ip가 보인다
즉, 해당 값은 방문한 사람의 ip를 보는 것이다
동시접속을 허용하지 않을 때 쓰기 유용