define 질문
본문
제가 개인 서버에
define('_RootPath', $_SERVER['DOCUMENT_ROOT'].'/');
이렇게 common.php 지정을 해 두고
include_once(_RootPath.'head_sub.php');
이렇게 include_once를 하니까
1. Use of undefined constant _RootPath - assumed '_RootPath' (this will throw an Error in a future version of PHP
2.include_once(_RootPathhead_sub.php): failed to open stream: No such file or directory in
3.include_once(): Failed opening '_RootPathhead_sub.php' for inclusion
이런 경고문이 뜨는데 echo 를 찍어서 보면 define 함수에 있는 값이 출력이 잘 되는데 왜 include 할 시에는 저런 오류가 뜨는 이유가 알고 싶습니다.
검색을 해봤지만 너무 안나와서 도움을 청해보네요
이유가 뭔지 궁금하고 해결 방법도 알려주시면 감사하겠습니다.
답변 4
경고문이 뜨는데 echo 를 찍어서 보면 define 함수에 있는 값이 출력이 잘 되는데
<== 그럴리가요
이렇게 common.php 지정을 해 두고<== common.php를 제대로 include 하지못하고있을것 같은데요?
다음 처럼 define을 include 바로 위에 넣어서 해보면 금방 알게 되겠죠
define('_RootPath', $_SERVER['DOCUMENT_ROOT'].'/'); <---common.php를 제대로 불러온다면 여기서 중복설정 에러가 나야 합니다
include_once(_RootPath.'head_sub.php');
head_sub.php (X)
head.sub.php (O)
근데 헤드 섭을 불러올때 현재 파일 위치부터 알아야되요
include_once(_RootPath.'head_sub.php');
=>
include_once(_RootPath.'/head_sub.php');