상대경로 지정에 대한 질문입니다 :) > 그누4 질문답변

그누4 질문답변

그누보드4 관련 질문은 QA 로 이전됩니다. QA 그누보드4 바로가기
기존 게시물은 열람만 가능합니다.

상대경로 지정에 대한 질문입니다 :) 정보

상대경로 지정에 대한 질문입니다 :)

본문

예를들어
파일을 _common.php로 만들고 원본파일을 가리키게 하는 방식을 쓸려고 합니다.

<?
$g4_path = "../.."; // <- 원본파일이 있는 폴더라고 가정하고
include_once("$g4_path/common.php");
?>

이 구문과
변수를 사용하는

<?
include_once("$g4[path]/common.php");
?>

이런 구문이 있는데
이상하게 둘다 될 때도 있고
아니면 위에 소스는 No such file 하면서 경로를 찾지 못하더라구요 ㅠㅠ
그러다가 밑에 걸로 바꾸면 되기도 하고

이상해서 질문드립니다. 둘다 같은 경우 아닌가요??

날씨 더운데 몸조심하세요!!

ps. 밑에 예제에서 $g4['path'] 이런식으로 하면 도 구문 오류가 ㅎㄷㄷ....
  • 복사

댓글 전체

[path]랑 ['path']는 같습니다. 다만 "" 안에 ['']는 에러 납니다.

<?
$g4_path = "../..";
include_once("$g4_path/common.php");
// $g4_path가 common.php에서 $g4[path]로 바뀌고 $g4_path는 사라집니다.
?>
$g4['path'] 와 $g4[path] 는 그누보드에서는 같습니다
$g4_path 와 $g4[path] 는 다릅니다

No such file 이 나오는 이유는 $g4_path 경로 설정이 맞지않아서 입니다
root 에서는 .
root 한단계 아래 폴더에서는 ..
스킨폴더에서는  ../../..

위와같이 만들어 _common.php를 해당 폴더에 넣어주면 됩니다
g4 파일마다 들어있는 $g4_path, _common.php 설정 및 사용법입니다
g4 설치 디렉토리와 내가 작업하는 디렉토리의 구조에 따라서 $g4_path의 설정을 정리를 한답시고 해봤는데... 설명이 더어려울 수도 있겠군요. ㅠ

1. 관리자님께서 권장하시는 "_common.php" 를 사용할경우

  1) 작업할 현재 디렉토리에 받드시 "_common.php" 가 있어야 함

  2) _common.php의 내용은 다음과 같아야 하는데 $g4_path는 3)을 참고하여 설정한다.
        <?
        $g4_path = ".";        // 이곳의 설정은 아래쪽의 3) 부분을 참고
        include_once("$g4_path/common.php");
        ?>

  3) _common.php에서 $g4_path 의 설정방법(현재 작업 디렉토리에서 그누보드가 설치된 상대경로를 설정한다)
        $g4_path = ".";        // 현재 디렉토리에 그누보드가 설치된경우, 그누보드 설치 디렉토리에 있는 파일 참조
        $g4_path = "..";        // 상위 디렉토리에 그누보드가 설치된경우
        $g4_path = "../..";    // 상위, 상위 디렉토리에 그누보드가 설치된경우
        $g4_path = "gnuboard4"; // 하위 디렉토리 gnuboard4에 그누보드가 설치된경우
        $g4_path = "board/g4";  // 하위 board 디렉토리의 하위 디렉토리 g4에 그누보드가 설치된경우
        $g4_path = "../g4";    // 그누보드가 내가 작업할 디렉토리와 같은 레벨의 디렉토리(g4)에 설치된경우
                       
2. _common.php 를 사용하지 않을경우 생성하는 php 파일마다 위의  2)의 내용을 추가하시고 $g4_path 부분은 위의 3)을 참고하시어 설정하시면 됩니다.
답변 감사합니다. (__ )
정확히 제 문제에 대해서 설명 드리면..

원본이

그누보드 경로/sub_homepage/kb37/myhead.php

에 파일이 있구요

스킨에서 이 원본파일을 가리키는 방식으로

그누보드 경로/skin/board/myskin/_myhead.php
의 파일에다가
<?
include_once("../../../sub_homepage/kb37/myhead.php");
?>
라고 간접적으로 원본을 포함시키게 했습니다.
이렇게 했더니 No such file 이라 뜨고
<?
include_once("$g4[path]/sub_homepage/kb37/myhead.php");
?>
이렇게 했더니 되더라구요 ㅠㅠ

g4[path]가 그누보드 홈 경로이면 ../../.. 따라가면 똑같을 것 같은데 ..
화일이 스킨폴더에 위치한다고 경로가 ../../.. 가 되는 것이 아닙니다
include 하고있는 화일이  /sub_homepage 에 있다면 sub_homepage 폴더 기준으로
경로를 주어야죠
© SIRSOFT
현재 페이지 제일 처음으로