초보자가 질문드리니다.(로그인) > 그누4 질문답변

그누4 질문답변

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

초보자가 질문드리니다.(로그인) 정보

초보자가 질문드리니다.(로그인)

본문

<?
include_once("./gnuboard4/_common.php");
include_once("$g4[path]/gnuboard4/lib/outlogin.lib.php");
echo outlogin("basic");
?>
board 가 설치된 폴더가 아닌 루트에서 로그인스킨을 불러 보려고 위와 같이 path 를 지정하니 사정없이
에러가 납니다. 해결 방법을 알려 주시면 도움이 되겠습니다.
board 의 index.php 가 있는 곳에서는
<?
include_once("./_common.php");
include_once("$g4[path]/lib/outlogin.lib.php");
echo outlogin("basic");
?>
위와 같이 하니 스킨이 잘부러 지던데.. 한단계 밖으로 나오니 안되는군요.. path 지정 방법을 알려 주시면 감사하겠습니다.
  • 복사

댓글 전체

한단계 위라면 아래처럼 해야 할것 같은데요.

<?
$g4[path]="..";
include_once("$g4[path]/common.php");
include_once("$g4[path]/lib/outlogin.lib.php");
echo outlogin("basic");
?>
Warning: main(../common.php): failed to open stream: No such file or directory in /home/ky-soft.co.kr/public_html/test.php on line 3

Warning: main(): Failed opening '../common.php' for inclusion (include_path='.:/usr/local/php/lib/php') in /home/ky-soft.co.kr/public_html/test.php on line 3

Warning: main(../lib/outlogin.lib.php): failed to open stream: No such file or directory in /home/ky-soft.co.kr/public_html/test.php on line 4

Warning: main(): Failed opening '../lib/outlogin.lib.php' for inclusion (include_path='.:/usr/local/php/lib/php') in /home/ky-soft.co.kr/public_html/test.php on line 4

Fatal error: Call to undefined function: outlogin() in /home/ky-soft.co.kr/public_html/test.php on line 5

감사합니다.

위와 같은 에러가 나오는군요.. 다시한번 살펴봐 주세요!!
에러상의 파일 위치라면 이렇게 해야 겠네요.
<?
$g4_path = "gnuboard4";
include_once("$g4_path/common.php");
include_once("$g4[path]/lib/outlogin.lib.php");
echo outlogin("basic");
?>
1. _common.php를 root에 복사합니다.

2. 복사한 _common.php를 다음과 같이 수정합니다.

    <?
    $g4_path = "./gnuboard4"; // common.php 의 상대 경로
    include_once("$g4_path/common.php");
    ?>

3. root에서 작성하고자하는 문서는

    <?
    include_once("./_common.php");
    include_once("$g4[path]/head.sub.php");
    ...
    include_once("$g4[path]/lib/outlogin.lib.php");
    echo outlogin("basic");
    ...
    include_once("$g4[path]/tail.sub.php");
    ?>

<참고>

    common.php 를 직접 불러도 되는데 _common.php를 두는 이유를 잘 생각해 보면 될 것입니다.
    _common.php를 둠으로서 소스에서의 경로 지정에 일관성이 생깁니다.
    그누보드 제작자가 다음 사항을 고려하여 그렇게 만든 것 같습니다.

    소스의 위치를 변경하더라도 소스는 수정하지 않고 해당 경로에 _common.php를 복사하고
    g4_path만을 수정하면 되도록 하기위함.
    (_common.php를 통해서 상대경로를 사용하는 소스라도 위치이동이 자유로워 짐)
.
© SIRSOFT
현재 페이지 제일 처음으로