PHP에서 루트 디렉토리 경로 찾기

Subodh Poudel 2023년1월30일
  1. __DIR__ 미리 정의된 상수를 사용하여 PHP에서 파일 디렉토리 경로 찾기
  2. dirname() 함수를 사용하여 PHP에서 프로젝트의 루트 디렉토리 경로 찾기
  3. $_SERVER['DOCUMENT_ROOT']를 사용하여 PHP에서 파일의 문서 루트 디렉토리 찾기
PHP에서 루트 디렉토리 경로 찾기

PHP 프로젝트의 루트 디렉토리 경로를 찾는 다양한 방법을 소개합니다.

__DIR__ 미리 정의된 상수를 사용하여 PHP에서 파일 디렉토리 경로 찾기

PHP에는 다양한 기능을 구현하는 데 사용할 수 있는 미리 정의된 상수가 있습니다. __DIR__은 루트 디렉터리에서 현재 파일의 전체 파일 경로를 반환하는 하나의 마법 상수입니다. 파일의 디렉토리를 반환한다는 의미입니다. dirname(__FILE__)도 같은 목적으로 사용할 수 있습니다.

프로젝트의 루트 디렉토리인 project 폴더가 있다고 가정합니다. project 폴더의 파일 경로는 /var/www/HTML/project입니다. project 폴더 안에 index.php 파일과 master 폴더가 있습니다. master 폴더에는 login.phpregister.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 Poudel avatar Subodh Poudel avatar

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

관련 문장 - PHP File