./와 /의 경로차이 질문
본문
안녕하세요! 질문이 있습니다.
<? include_once('/_head.php'); ?>
위와 같이 입력하면
Warning: include_once() [function.include]: Failed opening '/_head.php' for inclusion (include_path='.:/usr/local/lib/php')
이런 오류메시지가 나옵니다.
원래 슬러시하고 파일명치면 document path에 있는 파일을 불러와야하는 것 아닌가요??
서버설정을 잘 못해서 그런건지.... ㅠㅠ
답변 4
댓글을 수정할려고 하였는데 수정할수 없어서 추가로 적습니다.
매생이님이 루트를 잘못이해(?)하고 계신거 같기도 하고 하니면 제 설명이 부족했거나,,,
그누보드에서는 대부분
include_once('./_head.php');
이렇게 되어 있어요...
참고로 웹서버의 루트는 호스팅 업체마다 다르겠지만 카페24의 경우는 www디렉토리 하단이 루트가 됩니다.
하지만 위에 적혀 있는 "/" <== 루트는 웹서버의 루트와 별개 입니다. 운영체제상의 루트이지요...
PC를 예로 들자면 C:\ <=== 여기가 루트 입니다.
원래 슬러시는 루트를 의미합니다. /abc.php <== 최상위 디렉토리에 있는 abc.php
. : 현재 디렉토리를 의미합니다.
.. : 상위 디렉토리를 의미합니다.
./abc.php <== 현재 디렉토리의 abc.php
../abc.php <== 상위 디렉토리의 abc.php
슬러시(/)는 디렉토리를 구분할때도 사용하지요..
여기까지가 원래 입니다.
상대주소로 바꿔보세요
저는 절대주소로는 인크루드가 안되더라구여
그누보드 config.php 파일을 참고해 보세요...
/abc.php만 단독으로 사용해서
usr/home/www/abc.php <== 이렇게 인식되게 할수 없습니다.
config.php파일을 보시면 매생이님이 원하시는 결과를 얻기 위하여 경로 상수라는 것을 생성하여 사용하고 있습니다.
답변을 작성하시기 전에 로그인 해주세요.