[탈 디렉토리] 아무데서나 그누보드 불러다 막쓰기 정보
[탈 디렉토리] 아무데서나 그누보드 불러다 막쓰기본문
예전에... 오래전에 탈 디렉토리에 관한 내용이 있었습니다. 저도 그 팁을 보고는 많이 적용을 해서 잘쓰고 있었습니다.
탈 디렉토리라는건 예를 들어 사이트의 루트에 그누용의 디렉토리를 만들고 같은 ㅤㄷㅔㅍ스에 여러개의 디렉토리를 만들어서 규모가 좀 큰 사이트나, 그누보드의 기능을 이용한 사이트를 만들때 항상 그누보드의 $g4['path']의 값을 자동으로 찾아주어서 어느 곳에서나 편하게 그누보드와 연계가 가능 하다는 것이 장점이라고 하겠습니다...
이전의 팁은 좀 복잡한 감이 없지 않아서 좀더 간결하게 만들어 봤습니다.
일단 조건은 사이트의 루트에 그누보드 디렉토리가 존재해야 한다는 겁니다. 그누보드 디렉토리의 이름은 상관 없습니다.
어쩜 더 좋은 팁이 있을지도 모르겠습니다...
<?
// 탈 디렉토리를 위한 자동으로 그누보드 디렉토리 찾기
$core_name = "g4"; // 루트에 그누보드가 깔린 디렉토리명.
if(empty($core_name)){
$core_path = "";
}else{
$depth = substr_count(substr(dirname($_SERVER['SCRIPT_FILENAME']), strlen($core_name), strlen(dirname($_SERVER['SCRIPT_FILENAME']))-1), "/");
if($depth < 2){
$core_path = $core_name;
}else{
$core_path = str_repeat("../", $depth-1);
$core_path .= $core_name;
}
}
$g4_path = $core_path;
// 찾기 완료!!
// 그누보드 기본 인클루드~
include_once("$g4_path/common.php");
include_once("$g4[path]/lib/latest.lib.php");
$g4[title] = "탈 디렉토리 테스트!!";
include_once("$g4[path]/_head.php");
echo "<span style='font-size:14px; color:#ff3000; font-weight:bold;'>".$core_path."</span> <<< 여기가 그누보드의 상대경로 입니다!!!";
include_once("$g4[path]/_tail.php");
?>
사용 방법은 일단 그누보드가 사이트 루트에 있는 디렉토리에 설치가 되어 있어야 하고, 그누보드가 설치된 디렉토리 이름은 아무거나 상관 없습니다. 위 소스에서 $core_name에 그누보드가 설치된 디렉토리의 이름을 "/" 없이 이름만!! 입력하시고, 이 파일을 그누보드가 설치된 디렉토리가 아닌 다른 디렉토리에 만들어서 넣고 열어 봅니다. 상대경로를 알리는 메시지가 나왔다면 성공 입니다...
그누보드와 같은 ㅤㄷㅔㅍ스에 존재한는 어떤 디렉토리에서도 하위 뎁스에 상관없이 무조건 찾아 줍니다...
.
..
g4
sub_1
sub_1_1
sub_1_2
sub_1_2_1
sub_1_3
sub_2
이런 구조의 디렉토리에서 그누보드가 g4 에 설치가 되어 있다면, $core_name에 g4라고 설정하시고 이 파일을 sub_x_x_x_x_x 등의 어느 곳에서 실행을 해도 그누보드와 바로 연결 됩니다...
설명이 장황해서 죄송 합니다... ㅎㅎㅎ
잘 쓰시구요... 그누보드의 무궁한 발전을 기원 합니다!!!
아참... 혹시 윈도우 환경에서 쓰실때 php설정에서 겅로 구분자를 "/"가 아닌 "\"로 쓰실 경우에는 위의 경로 구분자를 환경에 맞게 쓰세요...
아니면, 알맞은 위치에,
strstr( PHP_OS, "WIN") ? $path_needle = "\\" : $path_needle = "/";
이렇게 경로 구분자를 정의해주는 코드를 넣으시고, 경로 구분자로 쓰이는 문자열 대신에 $path_needle 변수를 넣어주시면 되겠죠?
그럼~~
!!! 추가[2006.11.30] !!!
위 코드의 if(empty($dir)){ 부분을 if(empty($core_name)){ 로 바꿉니다...
탈 디렉토리라는건 예를 들어 사이트의 루트에 그누용의 디렉토리를 만들고 같은 ㅤㄷㅔㅍ스에 여러개의 디렉토리를 만들어서 규모가 좀 큰 사이트나, 그누보드의 기능을 이용한 사이트를 만들때 항상 그누보드의 $g4['path']의 값을 자동으로 찾아주어서 어느 곳에서나 편하게 그누보드와 연계가 가능 하다는 것이 장점이라고 하겠습니다...
이전의 팁은 좀 복잡한 감이 없지 않아서 좀더 간결하게 만들어 봤습니다.
일단 조건은 사이트의 루트에 그누보드 디렉토리가 존재해야 한다는 겁니다. 그누보드 디렉토리의 이름은 상관 없습니다.
어쩜 더 좋은 팁이 있을지도 모르겠습니다...
<?
// 탈 디렉토리를 위한 자동으로 그누보드 디렉토리 찾기
$core_name = "g4"; // 루트에 그누보드가 깔린 디렉토리명.
if(empty($core_name)){
$core_path = "";
}else{
$depth = substr_count(substr(dirname($_SERVER['SCRIPT_FILENAME']), strlen($core_name), strlen(dirname($_SERVER['SCRIPT_FILENAME']))-1), "/");
if($depth < 2){
$core_path = $core_name;
}else{
$core_path = str_repeat("../", $depth-1);
$core_path .= $core_name;
}
}
$g4_path = $core_path;
// 찾기 완료!!
// 그누보드 기본 인클루드~
include_once("$g4_path/common.php");
include_once("$g4[path]/lib/latest.lib.php");
$g4[title] = "탈 디렉토리 테스트!!";
include_once("$g4[path]/_head.php");
echo "<span style='font-size:14px; color:#ff3000; font-weight:bold;'>".$core_path."</span> <<< 여기가 그누보드의 상대경로 입니다!!!";
include_once("$g4[path]/_tail.php");
?>
사용 방법은 일단 그누보드가 사이트 루트에 있는 디렉토리에 설치가 되어 있어야 하고, 그누보드가 설치된 디렉토리 이름은 아무거나 상관 없습니다. 위 소스에서 $core_name에 그누보드가 설치된 디렉토리의 이름을 "/" 없이 이름만!! 입력하시고, 이 파일을 그누보드가 설치된 디렉토리가 아닌 다른 디렉토리에 만들어서 넣고 열어 봅니다. 상대경로를 알리는 메시지가 나왔다면 성공 입니다...
그누보드와 같은 ㅤㄷㅔㅍ스에 존재한는 어떤 디렉토리에서도 하위 뎁스에 상관없이 무조건 찾아 줍니다...
.
..
g4
sub_1
sub_1_1
sub_1_2
sub_1_2_1
sub_1_3
sub_2
이런 구조의 디렉토리에서 그누보드가 g4 에 설치가 되어 있다면, $core_name에 g4라고 설정하시고 이 파일을 sub_x_x_x_x_x 등의 어느 곳에서 실행을 해도 그누보드와 바로 연결 됩니다...
설명이 장황해서 죄송 합니다... ㅎㅎㅎ
잘 쓰시구요... 그누보드의 무궁한 발전을 기원 합니다!!!
아참... 혹시 윈도우 환경에서 쓰실때 php설정에서 겅로 구분자를 "/"가 아닌 "\"로 쓰실 경우에는 위의 경로 구분자를 환경에 맞게 쓰세요...
아니면, 알맞은 위치에,
strstr( PHP_OS, "WIN") ? $path_needle = "\\" : $path_needle = "/";
이렇게 경로 구분자를 정의해주는 코드를 넣으시고, 경로 구분자로 쓰이는 문자열 대신에 $path_needle 변수를 넣어주시면 되겠죠?
그럼~~
!!! 추가[2006.11.30] !!!
위 코드의 if(empty($dir)){ 부분을 if(empty($core_name)){ 로 바꿉니다...
추천
0
0
댓글 8개

와 좋은 공부 되었습니다 감사
이거 아주 좋아요~
탈 디렉토리

좋은 팁 감사합니다. ^-^
아! 정말 감사합니다. 너무 좋아요~~
좋은 팁 감사합니다.^^

에구 고맙습니다.
root/g4/user/privacy.php 경로에 '개인정보보호정책'을 일반페이지로 넣으려고 경로를 찾느라 하루 종일 끙끙 거리다 이 팁으로 단박에 해결했습니다.
root/g4/user/privacy.php 경로에 '개인정보보호정책'을 일반페이지로 넣으려고 경로를 찾느라 하루 종일 끙끙 거리다 이 팁으로 단박에 해결했습니다.
고맙읍니다.
응용해볼곳이 있겠읍니다.
응용해볼곳이 있겠읍니다.