[ php ] 상대경로와 절대경로, 열린문서의 절대경로, 상대경로, url, uri 나타내기
페이지 정보
작성자 웹지기 댓글 0건 조회 30,952회 작성일 18-11-07 14:28본문
1. 절대경로
- 어떠한 웹페이지나 파일이 가지고 있는 고유한 경로를 말한다.
- 예를들어 https://funyphp.com, C:\users\document\funyphp.jpg 등을 모두 절대 경로라고한다.
- 다르게는 '그 위치'라는 개념이라고 말할 수 있는데 주소라고 생각하면 이해하기 더 쉽다.
- 예를 들어 내가 만약 d:\file 또는 c:\file\img.jpg 등 절대 경로를 알고 있으면 그곳으로 바로 이동하거나 그곳에 있는 파일을 바로 실행 가능하다는 것.
- 따라서, 그건 거기에 있으니깐 실행해(가, 가져와 등등)이 된다.
2. 상대경로
- 상대경로를 풀어서 보면 '현재 위치한 곳을 기준'으로 해서 '그곳의 위치'이다.
- 다시한번 설명하자면 (Web이라고 기준하에) html 파일이 위치한 폴더를 기준으로 상대적인 경로라는 것.
- 예를 들어 C:\users\documents\funyphp라는 폴더 밑에 A라는 폴더와 B라는 폴더가 있다고 가정하고,
A라는 폴더안에 index.php 파일이 위치한다고 가정하고 현재 내가 B라는 폴더에 위치한다면,
A폴더 안에 index.php파일을 가져오기 위해서는 B라는 폴더를 기준으로 계산을 한다.
따라서 ../A/index.php이라고 하여 index.php로 간다는것.
- 참고
/ : 루트
./ : 현재 위치
../ : 현재 위치의 상단 폴더
ex) index.php가 C:\aaa\index\a에 위치한다면,
여기서 / 는 C:\
./ 는 C:\aaa\index
../ 는 C:\aaa
- 3가지를 간단히 정리하자면,
1 '/' -> 가장 최상의 디렉토리(Web root)
2 './' -> 파일이 위치한 현재 디렉토리
3 '../' -> 파일이 위치한 디렉토리의 상위 디렉토리
- 만약 두단계 상위 디렉토리로 이동하려면
'../../'
[code]
$file_path = realpath(__FILE__); //php파일의 절대 서버 경로
$file_name = basename(__FILE__); //php파일 이름
$path = str_replace(basename(__FILE__), '', $file_path); //php파일 이름을 뺀 절대 서버 경로
$root_path = $_SERVER['DOCUMENT_ROOT']; // 서버의 ROOT 경로
$file_url = preg_replace("'\/[^/]*\.php$'i", "/", $_SERVER['PHP_SELF']); //php파일의 상대경로
$relative_file_url = $file_url.$php_filename; //$php_filename의 상대경로
//홈페이지 기본 URI
$url = ($_SERVER['HTTPS'] == 'on')?'https://':'http://';
$url .= ($_SERVER['SERVER_PORT'] != '80')?$_SERVER['HTTP_HOST'].':'.$_SERVER['SERVER_PORT']:$_SERVER['HTTP_HOST'];
$uri = $url.$file_url; //php파일이 있는 웹경로
$file_url = $uri.$php_filename;
$file_uri = $url.$_SERVER['REQUEST_URI'];
[/code]
댓글목록
등록된 댓글이 없습니다.