PHP에서 루트 디렉토리 경로 찾기
-
__DIR__
미리 정의된 상수를 사용하여 PHP에서 파일 디렉토리 경로 찾기 -
dirname()
함수를 사용하여 PHP에서 프로젝트의 루트 디렉토리 경로 찾기 -
$_SERVER['DOCUMENT_ROOT']
를 사용하여 PHP에서 파일의 문서 루트 디렉토리 찾기
PHP 프로젝트의 루트 디렉토리 경로를 찾는 다양한 방법을 소개합니다.
__DIR__
미리 정의된 상수를 사용하여 PHP에서 파일 디렉토리 경로 찾기
PHP에는 다양한 기능을 구현하는 데 사용할 수 있는 미리 정의된 상수가 있습니다. __DIR__
은 루트 디렉터리에서 현재 파일의 전체 파일 경로를 반환하는 하나의 마법 상수입니다. 파일의 디렉토리를 반환한다는 의미입니다. dirname(__FILE__)
도 같은 목적으로 사용할 수 있습니다.
프로젝트의 루트 디렉토리인 project
폴더가 있다고 가정합니다. project
폴더의 파일 경로는 /var/www/HTML/project
입니다. project
폴더 안에 index.php
파일과 master
폴더가 있습니다. master
폴더에는 login.php
와 register.php
라는 두 개의 PHP 파일이 있습니다.
project
├── index.php
└── master
├── login.php
└── register.php
현재 login.php
에서 작업하고 있다고 가정합니다. 이러한 파일 구조에서 login.php
파일의 __DIR__
상수를 사용하여 디렉토리 경로를 얻을 수 있습니다. echo
기능을 사용하여 상수를 인쇄할 수 있습니다.
예제 코드:
<?php
echo __DIR__;
?>
출력:
/var/www/html/project/master
dirname()
함수를 사용하여 PHP에서 프로젝트의 루트 디렉토리 경로 찾기
dirname(__FILE__)
함수는 __DIR__
과 유사합니다. 이 함수를 사용하여 파일의 디렉토리 경로를 찾을 수 있습니다. dirname()
함수를 사용하여 파일 경로의 상위 레벨로 이동할 수도 있습니다. 함수의 첫 번째 매개변수는 __FILE__
상수로 표시되는 파일의 경로입니다. 두 번째 매개변수는 레벨이라고 하는 정수입니다. 함수가 파일 경로에서 레벨을 올리도록 레벨을 설정할 수 있습니다. 레벨의 기본값은 1
입니다. 레벨을 높이면 함수는 한 레벨 위로 파일 경로를 가져옵니다. 따라서 이 함수를 사용하여 PHP에서 프로젝트 루트 디렉토리의 정확한 파일 경로를 찾을 수 있습니다.
예를 들어 파일 구조를 첫 번째 방법으로 고려할 수 있습니다. login.php
파일에서 작업하여 dirname()
함수를 2
수준과 __FILE__
상수를 매개변수로 사용할 수 있습니다. 그런 다음 작업 디렉토리의 정확한 파일 경로를 얻을 수 있습니다. 따라서 파일 경로에서 위아래로 이동하는 선택에 따라 레벨을 변경할 수 있습니다. 이런 식으로 PHP에서 프로젝트의 루트 디렉터리 경로를 찾을 수 있습니다.
예제 코드:
<?php
echo dirname(__FILE__,2);
?>
출력:
/var/www/html/project
$_SERVER['DOCUMENT_ROOT']
를 사용하여 PHP에서 파일의 문서 루트 디렉토리 찾기
DOCUMENT_ROOT
인덱스와 함께 $_SERVER[]
배열을 사용하여 현재 실행 중인 스크립트의 문서 루트 디렉토리를 찾을 수 있습니다. 문서 루트 디렉터리의 전체 경로를 반환합니다. 서버의 구성 파일에 정의되어 있습니다. 위의 파일 구조에 대해 echo
기능을 사용하여 $_SERVER['DOCUMENT_ROOT']
를 인쇄하여 login.php
파일의 문서 루트 디렉토리를 찾을 수 있습니다.
아래 출력에서 볼 수 있듯이 html
경로는 login.php
파일의 문서 루트 디렉토리입니다. 루트 디렉토리의 파일 경로도 볼 수 있습니다.
예제 코드:
<?php
echo $_SERVER['DOCUMENT_ROOT'];
?>
출력:
/var/www/html
Subodh is a proactive software engineer, specialized in fintech industry and a writer who loves to express his software development learnings and set of skills through blogs and articles.
LinkedIn