본문으로 바로가기

절대경로와 상대경로

category Helloworld! 2013.04.17 12:00

참말로... 소스코드 짜다보면 절대경로와 상대경로.

너무헷갈린다!


학교나 학원이나 또는 혼자 공부로 경로에 대해서 수없이 공부해도 매번 쓸때마다 헷갈리는
경로. 개념은 숙지했어도 실천에서 응용이 안되니...

다시한번 공부도 할겸 정리해보자.


1. 절대경로

- 어떠한 웹페이지나 파일이 가지고 있는 고유한 경로를 말한다.

- 예를들어 http://www.google.com, C:\users\document\untitled.jpg 등을 모두 절대 경로라고한다.

- 다르게는 '그 위치'라는 개념이라고 말할 수 있는데 주소라고 생각하면 이해하기 더 쉽다.

- 음... 다시한번 예를 들어 내가 만약 d:\file 또는 c:\file\img.jpg 등 절대 경로를 알고 있으면 그곳으로 바로 이동하거나 그곳에 있는 파일을 바로 실행 가능하다는 것. 

- 따라서, 그건 거기에 있으니깐 실행해(가, 가져와 등등)이 된다.


2. 상대경로

- 상대경로를 풀어서 보면 '현재 위치한 곳을 기준'으로 해서 '그곳의 위치'이다.

- 다시한번 설명하자면 (Web이라고 기준하에) html 파일이 위치한 폴더를 기준으로 상대적인 경로라는 것.

- 예를 들어 C:\users\documents\sehee라는 폴더 밑에 A라는 폴더와 B라는 폴더가 있다고 가정하고,

   A라는 폴더안에 index.php 파일이 위치한다고 가정하고 현재 내가 B라는 폴더에 위치한다면,

   A폴더 안에 index.php파일을 가져오기 위해서는 B라는 폴더를 기준으로 계산을 한다.

   따라서 ../A/index.php이라고 하여 index.php로 간다는것.

- 여기서 참고할 것!

   / : 루트

   ./ : 현재 위치

   ../ : 현재 위치의 상단 폴더

ex) index.php가 C:\index\a에 위치한다면,

      여기서 / 는 C:

               ./ 는 a

              ../ 는 index라는 것.


- 3가지를 간단히 정리하자면,
   1  '/'    -> 가장 최상의 디렉토리로 이동한다.(Web root)
   2  './'   -> 파일이 현재 디렉토리를 의미한다.
   3  '../'  -> 상위 디렉토리로 이동한다.

- 만약 두단계 상위 디렉토리로 이동하려면
   '../../' 이렇게 사용하면 된다.





댓글을 달아 주세요

  1. 지나가던이 신고">2017.02.13 14:55 신고

    지나가다 들렀는대 ex) C:\index\a\index.php에서 ../가 a ./가 index 아닌가요?

    • Favicon of http://88240.tistory.com BlogIcon shaking shaking 신고">2017.02.27 13:10 신고

      혼란이 될 수 있는 설명이었겠네요.
      C:/index/a/index.php 에서 폴더 경로는 C:/index/a 이고 a라는 폴더 안에 index.php라는 파일이 있을때 ../ 와 ./ 에 대해 쓰고싶었습니다.
      이렇게 설명하면 ./가 a, ../가 index 가 맞겠죠?
      혹여나 지나가던이님이 지적해주신 대로라면 ../가 a는 될 수 있지만, 그래도 ./가 index는 될 수 없습니다. (아무래도 index.php 를 말하고싶으셨던것 같습니다.) 댓글 감사합니다.

  2. 칼잡이최제잘 신고">2017.05.05 11:37 신고

    검색하다가 찾았네요 감사합니다.~도움이 많이 되었습니다.

  3. Park 신고">2017.06.19 11:09 신고

    C:\index\index2\index3\index.php
    라고 가정 한다면
    index.php 의 상대경로는 ../../index3/index.php 가 맞나요?

  4. momo 신고">2017.06.20 11:05 신고

    감사합니다! 좋은 정리였어요 ㅎㅎ

  5. 지나가던사람 신고">2017.11.05 14:50 신고

    ./가 루트인걸로 알고 있는데 아닌가요? 실제로 테스트해보니 ./가 루트로 적용되는 것 같은데...

    • shaking 신고">2017.11.07 16:19 신고

      ./ 는 현재 위치를 말합니다. 루트에서 ./를 썼으면 루트로 나올겁니다.

  6. 걱정하지않는자 신고">2017.12.25 15:33 신고

    감사합니다!

  7. 배움 신고">2018.04.25 10:07 신고

    도움주셔서 감사합니다. 이거 보고 참고할게요