G5 어느 디렉터리 안에 있어도 자동으로 common.php의 위치를 찾아서 include 하도록 만드는 상위폴더 자동 탐색 로직 > 그누보드5 팁자료실

그누보드5 팁자료실

G5 어느 디렉터리 안에 있어도 자동으로 common.php의 위치를 찾아서 include 하도록 만드는 상위폴더 자동 탐색 로직 정보

G5 어느 디렉터리 안에 있어도 자동으로 common.php의 위치를 찾아서 include 하도록 만드는 상위폴더 자동 탐색 로직

본문

<?php
$path = __DIR__;
while (!file_exists($path . '/common.php')) {
    $parent = dirname($path);
    if ($parent === $path) break;
    $path = $parent;
}
include_once($path . '/common.php');

✅ 1) 어떤 경로에서도 무조건 정확히 상위폴더를 따라감
dirname() 덕분에:
/a/b/c/d/skin/board/basic/play.php
→ /a/b/c/d/skin/board/basic
→ /a/b/c/d/skin/board
→ /a/b/c/d/skin
→ /a/b/c/d
→ /a/b/c
→ ...
→ /a
이런 식으로 실제 상위 폴더를 정확하게 올라감.

✅ 2) 운영체제 완전 무관
Windows → C:\Apache24\...
Linux → /home/user/...

둘 다 100% 동작.

✅ 3) 웹호스팅도 완벽 지원
/home 계정 구조
/var/www/html
C:\Apache24\htdocs

모두 문제 없음.

✅ PHP 5.0 ~ 5.2에서도 쓰고 싶으면?
__DIR__만 PHP 5.2 이하에서 문제가 될 수 있으므로
그럴 경우 아래처럼 한 줄만 바꿔주면 됨:

? PHP 5.2 이하 호환 버전:
<?php
$path = dirname(__FILE__);
while (!file_exists($path . '/common.php')) {
    $parent = dirname($path);
    if ($parent === $path) {
        break;
    }
    $path = $parent;
}
include_once($path . '/common.php');

PHP5.x 서버에서 가장 안정적이며 가장 깔끔한 구조입니다.
아무 환경에서나 100% 정상 동작합니다.

 

출처 : https://xpx.kr/home/source/239

추천
10

댓글 3개

전체 2,741 |RSS
그누보드5 팁자료실 내용 검색

회원로그인

(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1402호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT