19. 절대 주소, 상대 주소의 사용에 대한 고찰. -php-
-불려 온 파일은 부른 화일의 위치에 있는 것처럼 취급된다.
root : r파일 - b파일을 부른다. ---(1)
aaa : a파일 - b파일을 부른다. ---(2)
bbb : b파일 - c파일을 부른다. ---(3)
ccc : c파일
디렉토리 aaa, bbb, ccc는 root 디렉토리 바로 아래에 있고, 각 디렉토리에 위와 같이 파일이 들어있다고 하자.
(1)의 경우 r파일에서 b파일을 부를 때 사용되는 경로는 "./bbb/B파일" 이다.
(2)의 경우 a파일에서 b파일을 부를 때 사용되는 경로는 "../bbb/B파일" 이다.
(3)의 경우 b파일에서 c파일을 부를 때 사용되는 경로는 "../ccc/c파일" 이다.
b파일은 r파일과 a파일 양쪽에서 부르고 있는데 여기서 문제가 있다.
(1)의 경우 불려 온 파일인 b파일은 r파일의 위치에 있는 것처럼 취급되어 b파일이 부르고 있는 c파일의 경로가 틀려진다.
즉 "./ccc/c파일"이 되어야 한다.
하지만 a파일에서 부른 경우엔 a파일 위치에서의 상대적 위치가 되므로 "../ccc/c화일"이 맞다.
이것은 php에서 css파일이나 js파일 또는 include문에서 상대경로를 지정할 때 문제가 될 수 있다.
절대 경로를 사용할 경우엔 Root 경로인 $_SERVER['HTTPS']를 명시해야하는지 아닌지를 잘 구분해야 한다.
어떤 경우에는 프로그램내부에서 자동으로 붙여지는 경우도 있기 때문이다.
'COMPUTER > php' 카테고리의 다른 글
21. 트리메뉴를 사용해 보자. (2) api.html -php (0) | 2017.04.13 |
---|---|
20. 트리메뉴를 사용해 보자. (1) example.html -php (0) | 2017.04.13 |
고찰 3. break, return, exit, die 탈출문 정리 -php (0) | 2017.03.25 |
17. Mysql을 이용한 메모장 (7) 페이징 -php- (0) | 2017.03.24 |
16. Mysql을 이용한 메모장 (7) 삭제 저장 -php- (0) | 2017.03.22 |