웹 개발 메모장

[php] 웹사이트 루트 경로 찾기 ($_SERVER['DOCUMENT_ROOT']) 본문

옛날../php

[php] 웹사이트 루트 경로 찾기 ($_SERVER['DOCUMENT_ROOT'])

도로롱주 2018. 1. 29. 15:13





$_SERVER['DOCUMENT_ROOT']



예를 들어 include / require 등을 할 때, 해당 파일의 경로를 가져오는 방법은 상대 경로, 절대 경로가 있습니다.




상대 경로


현재 파일을 기준으로 같은 위치에 있는지, 상위폴더에 있는지, 하위 폴더에 있는지 등을 판단하여 경로를 구합니다.


Ex) require("./boardView.php");


프로젝트가 통째로 위치가 이동할 경우라도 각각의 파일들의 상대적 경로는 같기 때문에 문제되지 않습니다.

하지만 프로젝트 내에서 파일 하나가 이동할 경우 자기의 위치가 변하기 때문에 자기 위치를 기준으로 경로를 찾던 상대 경로들을 변경 해주어야 합니다.


Ex) require("./boardView.php"); >> require("../board/boardView.php");




절대 경로


전체 경로 파일의 위치 경로를 구합니다.


Ex) require("C:/Apache24/htdocs/boardView.php");


따라서 하나의 파일이 이동하더라도 그 파일이 참조하는 다른 파일들의 위치는 변하지 않기 때문에 변경할 필요가 없습니다. 하지만 프로젝트 통째로 위치가 이동할 경우 루트 경로가 변경되어 모든 파일의 경로가 바뀌게 됩니다.


Ex) require("C:/Apache24/htdocs/boardView.php"); >> require("D:/htdocs/boardView.php");


절대 경로 방법에서 루트 경로가 변경되어도 수정하지 않을 수 있도록 $_SERVER['DOCUMENT_ROOT'] 를 사용할 수 있습니다.


$_SERVER['DOCUMENT_ROOT'] 는 현재 프로젝트의 루트 경로를 가져옵니다.

Ex) require($_SERVER['DOCUMENT_ROOT']."/boardView.php");



Comments