include_once 상대경로에 대한 질문입니다.

include_once 상대경로에 대한 질문입니다.

QA

include_once 상대경로에 대한 질문입니다.

본문

/adm 폴더에 임의의 폴더인 temp 를 생성합니다.

그리고 /adm/temp 에 test.php 라는 파일을 생성합니다.

test.php 에서 아래와 같이 코드를 적용합니다.


<?php

$sub_menu = "910500";

include_once('../_common.php');

include_once('../admin.head.php');

include_once('../admin.tail.php');

?>


그런데 아래와 같은 에러가 뜹니다.


Warning: include_once(../common.php): failed to open stream: No such file or directory in /home/da170428/html/adm/_common.php on line 3

Warning: include_once(): Failed opening '../common.php' for inclusion (include_path='.:/opt/alt/php56/usr/share/pear:/opt/alt/php56/usr/share/php') in /home/da170428/html/adm/_common.php on line 3

Warning: include_once(G5_ADMIN_PATH/admin.lib.php): failed to open stream: No such file or directory in /home/da170428/html/adm/_common.php on line 4

Warning: include_once(): Failed opening 'G5_ADMIN_PATH/admin.lib.php' for inclusion (include_path='.:/opt/alt/php56/usr/share/pear:/opt/alt/php56/usr/share/php') in /home/da170428/html/adm/_common.php on line 4 



에러의 경로에 실제 해당 파일이 존재하는데도 왜 위와 같은 에러가 뜨나요?

가끔 include_once 함수에서 상대경로로 파일을 지정하면 위와 같은 에러가 종종 떠서 이번 기회에 한번 질문해 봅니다..

경로를 어떻게 지정해야 해결이 될까요..

/adm 폴더와 /adm/temp 폴더의 권한은 0755 입니다.

이 질문에 댓글 쓰기 :

답변 1

/adm/temp/_common.php 

 에서 /adm/_common.php 를 인크루드 하셨으면

/adm/_common.php  에서 ../_common.php 이렇게 상대경로로 인크루드일 경우 /adm 의  하위 디렉토리가 아닌 /adm/temp 의 하위 디렉토리를 선언하신게 되는겁니다.



<?php

$sub_menu = "910500";

include_once('../../common.php');

include_once(G5_ADMIN_PATH.'/admin.head.php');

include_once(G5_ADMIN_PATH.'/admin.tail.php');

?>


이렇게 선언하세요.

답변을 작성하시기 전에 로그인 해주세요.
전체 59,684
QA 내용 검색

회원로그인

(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1404호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT