PHP에서 서버 루트의 절대경로는 $_SERVER['DOCUMENT_ROOT']다. 그런데 얘가 엉뚱한 결과를 리턴하는 경우가 있다. 그럴 때는 아래처럼 구할 수 있다. 내가 만든 건데 오류가 있으면 지적해 주기 바란다.

$_SERVER['DOCUMENT_ROOT'] = str_replace($_SERVER['PHP_SELF'],'',$_SERVER['SCRIPT_FILENAME']);

파일명까지 포함한 절대경로에서 URL 이하 폴더와 파일명을 빼 버린 것이다.

PHP의 $_SERVER 변수 매뉴얼이나 내 글 $_SERVER[] 변수 구하기를 참고하면 도움이 될 것이다.

단, 이게 어디서나 제대로 작동할 거라고 장담할 수는 없다. 이거 땜에 졸라 고생했다. 쌍.