그누보드는 처음 사용이라 초짜라 힘듭니다.도와주십시요. 정보
그누보드는 처음 사용이라 초짜라 힘듭니다.도와주십시요.본문
최신글을 불러오려고 참 별짓을 다해봤는데
이틀째 방법을 못찾고있습니다.
메뉴얼 정독하였고 경로 다 확인하였습니다.
하다못해 유창화님의 소스를 이용해 자동설정까지 해봤지만
역부족입니다. 자동설정소스 적용전에는 그누설치/test.php에서 부르면
최신글이 떳지만 .. 그 상위폴더에서는 뜨지않네요 ..
저는 계정/main.php 이런식으로 문서를 불러오고싶습니다.
제로보드때처럼요 .. 휴.. 그누는 참 멋진프로그램이지만 초보가 사용하기에는
좀 힘든부분이 많네요 ^^... 답변좀 부탁드립니다.
다음은 계정/bbs(그누설치폴더)/test.php 에서 불러왔을때의 에러입니다.
Warning: latest(./skin/latest/webzine/latest.skin.php): failed to open stream: No such file or directory in /home/hosting_users/jsm00927/www/bbs/lib/latest.lib.php on line 27
Warning: latest(./skin/latest/webzine/latest.skin.php): failed to open stream: No such file or directory in /home/hosting_users/jsm00927/www/bbs/lib/latest.lib.php on line 27
Warning: latest(): Failed opening './skin/latest/webzine/latest.skin.php' for inclusion (include_path='.:/usr/local/lib/php') in /home/hosting_users/jsm00927/www/bbs/lib/latest.lib.php on line 27
다음은 계정/test.php에서 불러왔을때의 에러입니다.
Warning: main(./common.php): failed to open stream: No such file or directory in /home/hosting_users/jsm00927/www/test.php on line 4
Warning: main(): Failed opening './common.php' for inclusion (include_path='.:/usr/local/lib/php') in /home/hosting_users/jsm00927/www/test.php on line 4
Warning: main(/lib/latest.lib.php): failed to open stream: No such file or directory in /home/hosting_users/jsm00927/www/test.php on line 5
Warning: main(): Failed opening '/lib/latest.lib.php' for inclusion (include_path='.:/usr/local/lib/php') in /home/hosting_users/jsm00927/www/test.php on line 5
Fatal error: Call to undefined function: latest() in /home/hosting_users/jsm00927/www/test.php on line 7
다음은 _common.php의 내용입니다.
<?
//$g4_path = "."; // common.php 의 상대 경로
//include_once("$g4_path/common.php");
//$g4_path = ".";
if(!isset($g4_path)) $g4_path = "."; //태엽푸는새님 - 경로 상관없이 그누보드 실행
include_once("$g4_path/common.php");
?>
//$g4_path = "."; // common.php 의 상대 경로
//include_once("$g4_path/common.php");
//$g4_path = ".";
if(!isset($g4_path)) $g4_path = "."; //태엽푸는새님 - 경로 상관없이 그누보드 실행
include_once("$g4_path/common.php");
?>
다음은 common.php 입니다. (기존과동일하고 111~140라인을 유창화님 소스를 이용 수정하였습니다.)
$dir = dirname($_SERVER['PHP_SELF']);
$tmpdir_common = dirname(str_replace($_SERVER['DOCUMENT_ROOT'] , '', __FILE__));
$tmpdir_common = dirname(str_replace($_SERVER['DOCUMENT_ROOT'] , '', __FILE__));
if (preg_match("`^" . $tmpdir_common . "`", $dir)){//현재 파일의 경로가 그누보드 기본 경로와 일치하거나 하위의 경로일 경우
$tmp = preg_replace("`^" . $tmpdir_common . "`", '', $dir);
if (empty($tmp))
$g4['path'] = '.';
else
$g4['path'] = preg_replace("`/[^/]+`", '../', $tmp);
}
else if (preg_match("`^" . $dir . "`", $tmpdir_common)){//현재 파일의 경로가 그누보드 상위 경로일 경우
if (empty($tmp))
$g4['path'] = '.';
else
$g4['path'] = preg_replace("`/[^/]+`", '../', $tmp);
}
else if (preg_match("`^" . $dir . "`", $tmpdir_common)){//현재 파일의 경로가 그누보드 상위 경로일 경우
$g4['path'] = './' . preg_replace("`^" . $dir . "`", '', $tmpdir_common);
}
else {//현재 파일의 경로가 그누보드 기본 경로와 다른 경로일 경우
}
else {//현재 파일의 경로가 그누보드 기본 경로와 다른 경로일 경우
$tmp = explode('/', $dir);
$tmp2 = explode('/', $tmpdir_common);
$tmp_samedir = '';
$tmp_path = '';
foreach($tmp as $key => $val){
$tmp2 = explode('/', $tmpdir_common);
$tmp_samedir = '';
$tmp_path = '';
foreach($tmp as $key => $val){
if ($tmp[$key] == $tmp2[$key]) {
$tmp_samedir .= $tmp[$key] . '/';
continue;
}
$tmp_samedir .= $tmp[$key] . '/';
continue;
}
$tmp_path .= '../';
}
}
$g4['path'] = $tmp_path . preg_replace("`^" . $tmp_samedir . "`", '', $tmpdir_common);
}
$g4['path'] = preg_replace(array("`/$`", "`//+`"), array('', '/'), $g4['path']);
if (empty($g4['path'])) $g4['path'] = '.';
}
$g4['path'] = preg_replace(array("`/$`", "`//+`"), array('', '/'), $g4['path']);
if (empty($g4['path'])) $g4['path'] = '.';
include_once("$g4[path]/config.php"); // 설정 파일
include_once("$g4[path]/lib/common.lib.php"); // 공통 라이브러리
include_once("$g4[path]/lib/common.lib.php"); // 공통 라이브러리
if (!$g4['url']) {
$g4['url'] = 'http://' . $_SERVER['HTTP_HOST'] . $tmpdir_common;
}
}
다음은 test.php의 내용입니다. 계정/test.php , 계정/그누4/test.php 동일합니다.
<?
//$g4_path = ".";
if(!isset($g4_path)) $g4_path = "."; //태엽푸는새님 - 경로 상관없이 그누보드 실행
include_once("$g4_path/common.php");
include_once("$g4[path]/lib/latest.lib.php"); // latest() 함수를 사용하여야 하므로 이 프로그램을 포함시킵니다.
//$g4_path = ".";
if(!isset($g4_path)) $g4_path = "."; //태엽푸는새님 - 경로 상관없이 그누보드 실행
include_once("$g4_path/common.php");
include_once("$g4[path]/lib/latest.lib.php"); // latest() 함수를 사용하여야 하므로 이 프로그램을 포함시킵니다.
echo latest("webzine", "Main_Notice", 5, 70); // basic 스킨으로 free 라는 게시판을 출력합니다.
?>
?>
스킨이름은 webzine 이고 게시판이름은 Main_Notice 입니다.
제대로 설정했는데도 불구하고 이런 오류가 나네요 ..
휴 .. 문제해결좀 부탁드립니다.
제로보드처럼 상대/절대 경로 빼오는건 $_zb_path 처럼 $g4_path가 있는듯한데
그누4의 상위폴더인 계정/main.php <- 이런 문서안에서는 인클루드를 어떻게 해야하는지 방법좀 부탁드립니다.
도저히 하다못해 이렇게 질문올립니다...
댓글 전체
제일 편한 방법
main을 -> index.php (그누 기본설정)으로 바꿔주시구요!!
index 경로는 g4가 설치되었는 기본 디렉토리 안에 있습니다!!
index.php에 적당히 표로 레이아웃 짜고 (안짜도 상관없음) -> 표굵기 0으로 설정
정당한 위치에
<?=latest("스킨디렉토리", "게시판 아이디", 출력라인수, 제목글자수)?>
위 소스를 넣으시면 됩니다!!
====>>> 아래는 그누 보드에서 공식사용되는 최신글 넣는 방법이니 그냥 참고 하세요!!
latest (최신글 스킨)
최신글 스킨은 하나의 게시판에서 최근에 올라온글만 추려서 출력해 주는 스킨입니다.
아래는 자유게시판에서 5개의 최신글을 제목을 70자리 까지만 보여주는 basic 스킨의 적용예 입니다.
이 스킨은 환경설정에서 설정하는곳이 없으며 이 스킨을 적용하고 싶은곳에 아래와 같은 코드를 직접 넣어주셔야 합니다.
<?=latest("스킨디렉토리", "게시판 아이디", 출력라인수, 제목글자수)?>
이 최신글을 추출하지 못해 질문을 하시는 경우가 많으므로 좀 더 쉽게 설명을 드리자면
test.php 라는 프로그램을 아래의 코드(파란색 부분)를 넣어서 하나 만들어 봅니다. index.php 가 있는 루트디렉토리에 만든다고 가정합니다.
<?
include_once("./_common.php");
include_once("$g4[path]/lib/latest.lib.php"); // latest() 함수를 사용하여야 하므로 이 프로그램을 포함시킵니다.
echo latest("basic", "free", 5, 70); // basic 스킨으로 free 라는 게시판을 출력합니다.
?>
간단하게 만들었으나 최신글을 출력하기에는 손색이 없습니다.
이것을 웹에서 실행해 보겠습니다.
http://도메인/test.php
정상으로 출력된다면 그누보드4의 설치가 제대로 된 것이고 그렇지 않다면 설치 또는 웹의 경로상에 문제가 있는것입니다.
main을 -> index.php (그누 기본설정)으로 바꿔주시구요!!
index 경로는 g4가 설치되었는 기본 디렉토리 안에 있습니다!!
index.php에 적당히 표로 레이아웃 짜고 (안짜도 상관없음) -> 표굵기 0으로 설정
정당한 위치에
<?=latest("스킨디렉토리", "게시판 아이디", 출력라인수, 제목글자수)?>
위 소스를 넣으시면 됩니다!!
====>>> 아래는 그누 보드에서 공식사용되는 최신글 넣는 방법이니 그냥 참고 하세요!!
latest (최신글 스킨)
최신글 스킨은 하나의 게시판에서 최근에 올라온글만 추려서 출력해 주는 스킨입니다.
아래는 자유게시판에서 5개의 최신글을 제목을 70자리 까지만 보여주는 basic 스킨의 적용예 입니다.
이 스킨은 환경설정에서 설정하는곳이 없으며 이 스킨을 적용하고 싶은곳에 아래와 같은 코드를 직접 넣어주셔야 합니다.
<?=latest("스킨디렉토리", "게시판 아이디", 출력라인수, 제목글자수)?>
이 최신글을 추출하지 못해 질문을 하시는 경우가 많으므로 좀 더 쉽게 설명을 드리자면
test.php 라는 프로그램을 아래의 코드(파란색 부분)를 넣어서 하나 만들어 봅니다. index.php 가 있는 루트디렉토리에 만든다고 가정합니다.
<?
include_once("./_common.php");
include_once("$g4[path]/lib/latest.lib.php"); // latest() 함수를 사용하여야 하므로 이 프로그램을 포함시킵니다.
echo latest("basic", "free", 5, 70); // basic 스킨으로 free 라는 게시판을 출력합니다.
?>
간단하게 만들었으나 최신글을 출력하기에는 손색이 없습니다.
이것을 웹에서 실행해 보겠습니다.
http://도메인/test.php
정상으로 출력된다면 그누보드4의 설치가 제대로 된 것이고 그렇지 않다면 설치 또는 웹의 경로상에 문제가 있는것입니다.
모두 g4[path]를 못찾아서 나타나는 것 같습니다...
_common.php 를
$g4_path = $g4_path ? $g4_path : ".";
include_once "$g4_path/common.php";
이렇게 바꾸시구요...
그누 보드가 설치된 폴더가 board라면
main.php 젤 상위에
$g4_path = "./board";
include_once "$g4_path/_common.php";
include_once "$g4[path]/lib/latest.lib.php";
이렇게 하셔서 해보세요
_common.php 를
$g4_path = $g4_path ? $g4_path : ".";
include_once "$g4_path/common.php";
이렇게 바꾸시구요...
그누 보드가 설치된 폴더가 board라면
main.php 젤 상위에
$g4_path = "./board";
include_once "$g4_path/_common.php";
include_once "$g4[path]/lib/latest.lib.php";
이렇게 하셔서 해보세요
질문자와 공동개발하고있는사람입니다. 덕분에 해결했습니다. 감사합니다. ^^
그러나 글을쓰려고 스킨의 more을 누르니 계정//bbs/intall 화면으로 넘어가버리면서
재설치하라네요 .. bbs앞에 /도 아닌 //가 붙어버립니다 ㅠㅠ
그러나 글을쓰려고 스킨의 more을 누르니 계정//bbs/intall 화면으로 넘어가버리면서
재설치하라네요 .. bbs앞에 /도 아닌 //가 붙어버립니다 ㅠㅠ
//가 붙는 이유는 g4_path 를 못찾아서 그런것 같습니다....
정확이 어떻게 안되는지는 모르겠습니다....
스킨의 more의 링크가 어떻게 되는지......
재설치를 하라고 나오는거는 dbconfig.php 를 못찾기 때문입니다......
즉 g4_path가 없기 때문입니다.
정확이 어떻게 안되는지는 모르겠습니다....
스킨의 more의 링크가 어떻게 되는지......
재설치를 하라고 나오는거는 dbconfig.php 를 못찾기 때문입니다......
즉 g4_path가 없기 때문입니다.
g4_path가없다는게 무슨소린지 모르겠네요
블루램프님께서 주신 소스로했는데 g4_path를 못찾는다는것은 무슨소린지요 ?
개발자형님이 지금 수정은 해놓으셨는데
어떻게 수정해놓으셨는지 모르겠네요
지금 주무시는지 연락이안되서 ^^;
근데 그누보드도
제로보드처럼 그냥 위에 인클루드만 시켜주고 제로랑 비슷하게 노프레임을
제작할수있는건지요 ?
제로도 위에 <? include 'outlogin.php' ?> 이런식으로 인클루드시키면
zboard란 폴더안에있어도 그 상위폴더인 계정/ <- 이 문서에서도
최신글같은걸 쉽게 뽑을수있는것이죠 ?
블루램프님께서 주신 소스로했는데 g4_path를 못찾는다는것은 무슨소린지요 ?
개발자형님이 지금 수정은 해놓으셨는데
어떻게 수정해놓으셨는지 모르겠네요
지금 주무시는지 연락이안되서 ^^;
근데 그누보드도
제로보드처럼 그냥 위에 인클루드만 시켜주고 제로랑 비슷하게 노프레임을
제작할수있는건지요 ?
제로도 위에 <? include 'outlogin.php' ?> 이런식으로 인클루드시키면
zboard란 폴더안에있어도 그 상위폴더인 계정/ <- 이 문서에서도
최신글같은걸 쉽게 뽑을수있는것이죠 ?
1. 계정/bbs(그누설치폴더)/test.php 실행에러에 관하여
==================================================
제가 초보라서 아는데 latest.lib.php 27번줄 에러메시지는
최신글 스킨이름(즉 최신글 디렉토리)이 webzine이 아니라서 생기는 에러인줄 압니다.
혹시 webzine이 보드이름이 아닌가 생각되는데....초보생각이었습니다.
echo latest("최신글스킨이름", "Main_Notice", 5, 70);
2. 계정/test.php 에서 실행에러
===================================================
test.php를 계정에서 실행할 경우는 다음과 같이 그누보드 폴더를 알려줘야 합니다.
if(!isset($g4_path)) $g4_path = "./bbs"; //태엽푸는새님 - 경로 상관없이 그누보드 실행
=====================================================
참고사항
=================
"." 현재폴더
".." 상위폴더
"./bbs" bbs하위폴더
==================================================
제가 초보라서 아는데 latest.lib.php 27번줄 에러메시지는
최신글 스킨이름(즉 최신글 디렉토리)이 webzine이 아니라서 생기는 에러인줄 압니다.
혹시 webzine이 보드이름이 아닌가 생각되는데....초보생각이었습니다.
echo latest("최신글스킨이름", "Main_Notice", 5, 70);
2. 계정/test.php 에서 실행에러
===================================================
test.php를 계정에서 실행할 경우는 다음과 같이 그누보드 폴더를 알려줘야 합니다.
if(!isset($g4_path)) $g4_path = "./bbs"; //태엽푸는새님 - 경로 상관없이 그누보드 실행
=====================================================
참고사항
=================
"." 현재폴더
".." 상위폴더
"./bbs" bbs하위폴더