[탈 디렉토리] 아무데서나 그누보드 불러다 막쓰기 > 그누4 팁자료실

그누4 팁자료실

그누보드4와 관련된 팁을 여러분들과 함께 공유하세요.
나누면 즐거움이 커집니다.

[탈 디렉토리] 아무데서나 그누보드 불러다 막쓰기 정보

[탈 디렉토리] 아무데서나 그누보드 불러다 막쓰기

본문

예전에... 오래전에 탈 디렉토리에 관한 내용이 있었습니다. 저도 그 팁을 보고는 많이 적용을 해서 잘쓰고 있었습니다.

탈 디렉토리라는건 예를 들어 사이트의 루트에 그누용의 디렉토리를 만들고 같은 ㅤㄷㅔㅍ스에 여러개의 디렉토리를 만들어서 규모가 좀 큰 사이트나, 그누보드의 기능을 이용한 사이트를 만들때 항상 그누보드의 $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
  • 복사

댓글 8개

에구 고맙습니다.
root/g4/user/privacy.php 경로에 '개인정보보호정책'을 일반페이지로 넣으려고 경로를 찾느라 하루 종일 끙끙 거리다 이 팁으로 단박에 해결했습니다.
© SIRSOFT
현재 페이지 제일 처음으로