테스트 사이트 - 개발 중인 베타 버전입니다

영카트에서 include_once 질문 채택완료

필리온 6년 전 조회 1,975

영카트에서 테마를 사용하고 있으면 include_once에서 상대경로의 상위는 어디인가요?

 

예를 들어 test 테마를 사용한다면 theme/test가 될텐데요. 

 

test폴더, 즉 테마 루트에 test.php를 생성하고 아무코드나 적어서

 

theme/test/shop/shop.head.php 에서 include_once('../test.php')하면 불러와 지지가 않네요.

 

이럴땐 상대 경로를 지정하려면 어떻게 해야하나요?

댓글을 작성하려면 로그인이 필요합니다.

답변 2개

채택된 답변
+20 포인트
Policia
6년 전

test.php파일은 theme/test/test.php에 있으면 당연히 위 경로는 잘못된겁니다

 

"../"의경우 한단계 상위로 간다는 의미인데

 

theme/test/shop/shop.head.php 에서 "../test.php" 일경우 위치는 "theme/test/shop/test.php"로 인식합니다

 

include_once('../../test.php'); 이렇게 한번더 써서 한단계 상위 단계로 가거나

 

간단한방법으로

 

그누보드내에 있는 상수로 가능합니다

 

include_once(G5_THEME_PATH.'/test.php');

 

이렇게하면 현재 설정되어있는 테마폴더의 위치를 찾아가게됩니다

로그인 후 평가할 수 있습니다

답변에 대한 댓글 2개

필리온
6년 전
../../test.php는 저도 해봤는데 안먹히더군요. 알려주신 그누보드 상수로 해결했습니다. 정말 감사합니다.
P
Policia
6년 전
아아아 맞다 아마 위 경로는 shop.head.php를 직접불러왔을 경우에 적용되는 경로이구요

shop.head.php을 직접 불러오진않을테니...

index.php나 이렇게 메인이 되는 파일에서 불러오니깐 여기 기준으로 경로를 잡아야합니다

물론 shop.head.php은 어디에나 쓰이기에 상수로 잡는게 편합니다

댓글을 작성하려면 로그인이 필요합니다.

include_once(dirname(__FILE__)."/../test.php");

이렇게 해보세요

 

로그인 후 평가할 수 있습니다

답변에 대한 댓글 1개

필리온
6년 전
답변 감사합니다. 상수가 편해서 상수로 해결했습니다.

댓글을 작성하려면 로그인이 필요합니다.

답변을 작성하려면 로그인이 필요합니다.

로그인