개발 Q&A

제목 상수로 지정한 변수 통해 include 안되는 문제입니다.
글쓴이 amkorphp 작성시각 2016/07/22 20:09:00
댓글 : 5 추천 : 0 스크랩 : 0 조회수 : 12900   RSS

 

$base_url = (isset($_SERVER["HTTPS"]) && $_SERVER["HTTPS"] == "on") ? "https://" : "http://";
$base_url .= $_SERVER["HTTP_HOST"];
define('BASE_URL',$base_url);

---------------------view페이지---------------------
var_dump(BASE_URL."/test/pay/".$module.".inc.php"); // 찍어보면 http://도메인/test/pay/inicis.inc.php
include_once(BASE_URL."/test/pay/".$module.".inc.php"); 

 

 

실제로 저 경로에는 inicis.inc.php 파일이 존재하지만..

 

왜 include가 안되는건가요? 찍어본 링크 주소 그대로 접속하면 실제로 파일은 존재하는데..ㅠ.ㅠ

 

무엇때문에 안되는건가요? ㅠ,ㅠ

 다음글 변수 선언 (2)
 이전글 GD2라리브러리 설치 (6)

댓글

변종원(웅파) / 2016/07/23 07:45:50 / 추천 0
지금 include에 사용하는 경로가 웹주소입니다. include에는 절대경로 상대경로를 사용할 수 있습니다.
amkorphp / 2016/07/23 17:29:16 / 추천 0
변종원(웅파)> 해당 내용 제가 이해를 못한건가요? ㅠ,ㅠ  inlcude는 절대경로도 사용할수 있다고 해주셨는데 제가 절대경로로 지정했는데도 안되는 이유는 무엇일까요? ㅜ,ㅜ
/ 2016/07/23 19:14:05 / 추천 0
include에 보시면 경로가 http://이라는 웹 경로니 리눅스나 윈도우 상 경로를 넣으라는 뜻인거 같은데요?
하늘치 / 2016/07/25 06:35:42 / 추천 0

상대경로와 절대경로는 웹주소가 아니라 서버 내의 경로에요.

"./test/pay/".$module.".inc.php"

또는

"../../test/pay/".$module.".inc.php"

이런 식으로 사용하는 게 상대경로고요,

현재 페이지가 위치한 곳을 기준으로 상대적인 위치를 찾는 거에요.

기준이 되는(또는 include 등으로 불러오는) 페이지가 어디냐에 따라 상대주소는 바뀔 수 있겠지요.

(./test, ../test, ../../test 등으로요..)

 

절대경로는 말 그대로 어떤 페이지에서 보건 변경되지 않는 값이 되겠네요.

검색해보시고 몇 번 해보시면 금방 익숙해지실 겁니다요.

 

마카오최 / 2016/07/25 10:11:27 / 추천 0
include_once(BASE_URL."/test/pay/".$module.".inc.php");

위 코드를 아래와 같이 변경 해보시기 바랍니다.

include_once($_SERVER['DOCUMENT_ROOT']."/test/pay/".$module.".inc.php");

절대경로는 리눅스 서버를 기준으로 말하고 있는 것입니다.

http:// 이런 경로가 아니라 /home/user/www 와 같은 경로를 말하는 것이지요.

 

저래해도 안된다면 

echo $_SERVER['DOCUMENT_ROOT']; 

찍어 봤을때 나오는 경로를 잘 보시고 지금 불러오려는 문서가 저 경로를 포함해 어디에 있는지 쭉 적어 주시면 됩니다.