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
$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% 정상 동작합니다.
!-->!-->
추천
10
10
댓글 3개

감사합니다.

감사합니다 ^^

감사합니다