채택완료

영카트에서 include_once 질문

2019-04-19 (금) 16:54:41 2,185

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

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

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

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

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

|

답변 2개 / 댓글 3개

채택된 답변
+20 포인트

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개

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

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

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

물론 shop.head.php은 어디에나 쓰이기에 상수로 잡는게 편합니다
2019-04-19 (금) 17:07:39

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

이렇게 해보세요

답변에 대한 댓글 1개

답변 감사합니다. 상수가 편해서 상수로 해결했습니다.

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