2013-06-13 3 views
0

*.tpl HTML 및 PHP 코드 파일을 include에 사용하면 내 웹 사이트의 여러 웹 페이지에서 머리글과 바닥 글 같은 공백을 채울 수 있습니다.php include - 내 코드에 무슨 문제가 있습니까?

나는 내 웹 사이트의 올바른 위치에 코드를 포함하고 인쇄하려고합니다. 내가 사용하고있는 다음과 같은 : 내 웹 사이트를 실행하는 MAMP 로컬 호스트를 사용하고 내가이 작업을 얻는 방법에 대한 의아해입니다

<?php 
include ($_SERVER['HTTP_HOST'] . '/assets/com-footer.tpl';) 
?> 

? 나는 불행히도 프로가 아니다 !! 초기 의도는 내 TPL 파일의 /assets/com-footer.tpl 디렉토리 전에 baseURL를 얻을 수 있었다이다 localhost/assets

내가 어떤 페이지에 대한 ../../assets/file.tpl을 넣어 것을 피하기 위해 노력하고 있어요. 난 그냥 호스팅 서버에 업로드 할 때 localhost 및 서버의 baseURL을 출력 표준 PHP 코드 싶어요. 이 때 CSS 시트 스타일 시트 링크 및 이미지 등 앞에 넣을 수 있습니다. ../../../ 문자열을 피하기 위해 웹 페이지가 저장된 폴더에 따라 추가해야합니다.

빛을 비추고 도움을 줄 수 있습니까? 당신은 서버에있는 절대 경로를 알고있는 경우

+0

거의. 'DOCUMENT_ROOT'를 사용하여 경로를 웹 서버 기본 디렉토리에 절대적으로 만듭니다. 또는 발송자/라우터 스크립트 및 가상 경로를 사용하거나 거기에서 페이지 또는 템플릿을 포함 할 수 있습니다. 이것은 공통 초기화를 허용합니다. – mario

+0

http://shiflett.org/blog/2006/mar/server-name-versus-http-host – xRed

+0

실제 오류는 무엇입니까? 세미콜론이 잘못된 위치에 있다는 것은 간단합니까? 닫는 괄호 뒤에 와야합니다. – Malcolm

답변

0

변경

include ($_SERVER['HTTP_HOST'] . '/assets/com-footer.tpl';) 

include ($_SERVER['HTTP_HOST'] . '/assets/com-footer.tpl'); 
+0

마리오 : 그 작품 ..하지만 document_root .. 언제 httpdocs와 서버에서 작동합니까? 아니면 localhost를위한 솔루션일까요? –

+0

이것은 코드의 구문 오류에 대한 해결책입니다. – Andreas

+0

죄송합니다. mario의 HTTP_HOST가 DOCUMENT_ROOT (으)로 변경된 게시물을 언급하고 있습니다. 구문 오류가 발생했습니다. 실수로 게시물에 잘못 입력했습니다. –

0

에 그냥 직접 설정합니다. 가끔 PHP 코드를 줄이기 위해 그렇게합니다. 구성 파일, 헤더 또는 다른 것과 같은 모든 페이지에 포함 된 php 파일에 DOC_ROOT라는 변수를 만듭니다. 그런 식으로.

<?php 
    define("DOC_ROOT","/absolute/path/to/httpdocs"); 
//whatever else after this 
?> 

include(DOC_ROOT.'/assets/com-footer.tpl');을 호출하고 다른 곳에서도 DOC_ROOT를 사용할 수 있습니다.