PHP 공부 (4)

황정성·2026년 5월 2일

수퍼전역 $ GLOBALS

$GLOBALS['aaa'] = "안녕";

echo $aaa;

function aabb() {
	echo $GLOBALS['aaa'];
}

안녕이 두번 출력 될 것이다.

함수 안에 전역변수로 설정 했으면, 함수 안에서 전역인지 지역인지 나타내줘야 한다.

그럼 왜 수퍼전역이냐?

function aabb() {
	$GLOBALS['aaa'] = "안녕";
}

echo $GLOBALS['aaa'];

이게 출력이 된다.
함수 안에서 선언 해도 전역변수로 취급되어 함수 밖에서도 쓸 수 있다

$_SERVER

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를 보는 것이다

동시접속을 허용하지 않을 때 쓰기 유용

0개의 댓글