BOARD

팁·활용

PHP 환경에서 현재 파일의 절대 경로와 상대 경로 주소 확인 방법

페이지 정보

profile_image
작성자 최고관리자
댓글 0건 조회 5회 작성일 26-10-07 17:59

본문

PHP 환경에서 현재 파일의 절대 경로와 상대 경로 주소 확인 방법

PHP 및 그누보드 환경에서 서버의 현재 디렉토리 절대 경로와 상대 경로를 테스트 스크립트로 확인하고 웹브라우저를 통해 진단하는 방법을 안내합니다.

PHP 파일 절대 경로 및 상대 경로 확인 방법

PHP 환경에서 현재 디렉토리의 서버 절대 경로, 상대 경로 주소, 현재 파일명을 확인하려면 테스트 PHP 스크립트를 작성하여 웹브라우저로 실행할 수 있습니다.

1. 테스트 PHP 소스 코드 작성

메모장을 열고 아래의 코드를 그대로 복사하여 붙여넣은 뒤, 원하는 이름(예: test.php)으로 저장합니다.

<?php
// 절대경로 알아내기
global $PHP_SELF;
$thisfilename=basename(__FILE__);
$temp_filename=realpath(__FILE__);
if(!$temp_filename) $temp_filename=__FILE__;
$osdir=eregi_replace($thisfilename,"",$temp_filename);
unset($temp_filename);
$virdir = eregi_replace($thisfilename,"",$PHP_SELF);
echo "현재 디렉토리의 절대경로: ".$osdir."<br>";
echo "현재 디렉토리의 상대 경로 주소: ".$virdir."<br>";
echo "현재 파일명: ".$thisfilename."<br>";
echo "현재 파일상대경로 상대 경로 주소: ".$PHP_SELF."<br>";
?> 
<?php phpinfo();?>

2. 업로드 및 결과 확인 절차

  1. 계정에 접속하여 절대 경로를 확인하고자 하는 위치에 저장한 test.php 파일을 업로드합니다.
  2. 웹브라우저를 통해 해당 파일에 접속합니다 (예: http://계정주소/test.php).
  3. 화면에 출력되는 현재 디렉토리의 절대경로, 상대 경로 주소, 현재 파일명 및 하단의 phpinfo()를 통한 서버 환경 정보를 확인합니다.
  4. 확인이 완료된 테스트 파일은 보안을 위해 삭제합니다.

PHP 테스트 파일을 통한 절대 및 상대 경로 확인 절차

Q1에서 작성한 test.php 파일을 활용하여 서버 환경에서 경로를 확인하는 절차는 다음과 같습니다.

  1. 파일 업로드: 계정에 접속하여 절대 경로를 확인하고자 하는 위치에 test.php 파일을 업로드합니다.
  2. 웹브라우저 접속: 주소창에 http://계정주소/test.php와 같이 파일 경로를 입력하여 접속합니다.
  3. 결과 확인: 화면에 출력되는 절대 경로, 상대 경로, 파일명 및 하단의 phpinfo() 정보를 확인합니다.

PHP 환경에서 phpinfo() 함수로 서버 환경 정보 확인하는 방법

PHP 스크립트를 통해 현재 디렉토리의 절대 경로와 상대 경로뿐만 아니라 상세한 서버 환경 정보를 함께 확인하려면 phpinfo() 함수를 사용할 수 있습니다.

1. 테스트 파일 작성 및 업로드

  • 메모장을 열고 아래의 PHP 소스 코드를 그대로 복사하여 붙여넣습니다.
<?php 
// 절대경로 알아내기 
global $PHP_SELF; 
$thisfilename=basename(__FILE__); 
$temp_filename=realpath(__FILE__); 
if(!$temp_filename) $temp_filename=__FILE__; 
$osdir=eregi_replace($thisfilename,"",$temp_filename); 
unset($temp_filename); 
$virdir = eregi_replace($thisfilename,"",$PHP_SELF); 
echo "현재 디렉토리의 절대경로: ".$osdir."<br>"; 
echo "현재 디렉토리의 상대 경로 주소: ".$virdir."<br>"; 
echo "현재 파일명: ".$thisfilename."<br>"; 
echo "현재 파일상대경로 상대 경로 주소: ".$PHP_SELF."<br>"; 
?> 
<?php phpinfo();?>
  • 파일을 원하는 이름인 test.php 형식으로 저장합니다.
  • 호스팅 계정에 접속하여 서버 환경 정보와 경로를 확인하고자 하는 위치에 test.php 파일을 업로드합니다.

2. 웹브라우저 접속 및 확인

  • 웹브라우저 주소창에 업로드한 파일의 경로를 입력하여 접속합니다. (예: http://계정주소/test.php)
  • 웹페이지 상단에는 현재 디렉토리의 절대 경로와 상대 경로 주소, 현재 파일명이 출력되며, 이어서 phpinfo() 함수에 의해 PHP 버전, 설정 값, 서버 모듈 정보 등 상세한 서버 환경 정보가 화면에 출력됩니다.

상황별 판단 및 행동 가이드

내 상황우선할 판단다음 행동
PHP 환경에서 현재 디렉토리의 절대/상대 경로와 파일명을 즉시 확인해야 할 때basename(), realpath(), __FILE__, $PHP_SELF 등을 조합한 테스트 스크립트 작성메모장에 테스트 코드를 작성하고 test.php로 저장한 뒤 계정에 업로드하여 웹브라우저로 접속해 확인
경로 출력 결과와 함께 PHP 버전 및 서버 환경 상세 정보를 확인하고자 할 때phpinfo() 함수가 포함된 테스트 스크립트 활용작성한 테스트 파일 하단에 phpinfo();를 추가하여 업로드 후 브라우저로 접속해 서버 설정 정보 점검
테스트를 마친 뒤 보안을 유지해야 할 때외부 노출 방지를 위한 즉시 파일 정리경로 확인 및 진단 작업이 끝난 직후 서버에 업로드한 테스트 파일(test.php) 삭제

실전 FAQ

Q. 테스트 파일 접속 시 경로가 올바르지 않게 출력되거나 오류가 발생하면 어떻게 하나요?

  • 예외 및 대안: 사용하는 PHP 버전에 따라 eregi_replace 함수 지원 여부나 설정 값이 다를 수 있습니다. 경로 확인용 테스트 코드는 진단 용도로만 일시적으로 사용하고, 실제 그누보드 설정에서는 $_SERVER['DOCUMENT_ROOT'] 등 표준적인 슈퍼 글로벌 변수를 활용하는 대안을 검토하세요.

Q. 테스트 완료 후 파일을 삭제하지 않으면 어떤 문제가 생기나요?

  • 막히는 지점 및 보안: phpinfo() 함수가 포함된 파일이 웹서버에 그대로 남아있을 경우, 서버의 상세한 환경 설정과 PHP 버전 정보가 외부 사용자에게 노출되어 보안 취약점이 될 수 있습니다. 경로 확인 즉시 파일을 삭제하는 것이 안전합니다.

함께 보면 좋은 글

참고자료

기타 참고자료

댓글목록

등록된 댓글이 없습니다.