include_once 질문
본문
a/a.php
a/b/b.php
a.php 내용은
include_once(../c.php);
b.php 내용은
include_once(../a.php);
c.php는 a디렉토리 안에 존재
결과적으로
a 디렉토리안에는 c.php
b 디렉토리안에는 a.php
c 디렉토리안에는 b.php
이렇게 존재하는데
b.php에서 a.php를 include 하면 a.php에서 c.php를 include를 한다고 생각을했는데
자꾸 경로에러가 뜨더라고요
그래서 다르게 생각해보니까
b.php에서 a.php를 가져오니까 a.php가 인클루드 된 상황에서는 c.php를 include 하려면 ../../ 이렇게 되는건가해서
여쭙니다.. 제생각이 맞나요?
질문이 너무 복잡하네요..
답변 1
앞 질문 답변대로하면 됩니다
b.php에서 a.php를 include하면 a.php내용은 b.php 화일내에 코드를 복사해 넣은 것과 동일합니다
즉 a.php에 ../~~이렇게 되어있어도 root의 화일을 include하지않습니다
b.php기준으로 경로를 잡아서 c.php를 찾게 됩니다
다시 말해서 include하면 include하는 화일 위치가 기준이 되어 경로가 설정됩니다
b.php기준이니까 a.php에서는 ../../이렇게 되어야합니다
답변을 작성하시기 전에 로그인 해주세요.