2010-08-07 3 views
-1
<?php 
// This is index.php 
ob_start(); 
include 'tem/u.html'; 
ob_end_flush(); 
?> 

<html> 
<!-- This is u.html --> 
<link rel="stylesheet" href="style.css" media="screen" /> 
<body> 
<p> abc </p> 
</body> 
</html> 

내 문제는 스타일을 사용하여 h.html -> 확인을 실행할 때입니다.
하지만 index.php를 실행할 때 -> 확인 스타일이없는 (지금의 index.php가있는 style.css을 포함하기 때문에,/style.css에는 TEM되지 않음) 수정포함 및 경로 문제

답변

2

이 필요 이것은 PHP 또는 include 함께 할 수 없다 . 이것은 브라우저 및 URL 해석 방법과 관련이 있습니다.

브라우저가 http://xyz.abc/tem/h.html을 가리키고 "style.css"를로드하라는 메시지가 나타나면 http://xyz.abc/tem/style.css을로드하려고 시도합니다.이 URL은 현재 문서 위치에 상대적인 상대 URL로 알려져 있습니다.

브라우저가 http://xyz.abc/index.php에 있고 스타일 시트를 같은 방법으로로드하라는 메시지가 표시되면 http://xyz.abc/style.css이 표시됩니다. 어쩌면 그 문제를 볼 수 있을까요?

솔루션의 경우 스타일 시트에 도메인 상대 경로 ("/tem/style.css")를 사용할 수 있습니다. 가능하지 않은 경우

+0

당신 의미 HREF = "/ TEM이 /있는 style.css"바로 당신의 CSS 파일

<link rel="stylesheet" href="/tem/style.css" media="screen" /> 

에 절대 경로를 사용?나도 알아,하지만 WP 템플릿에서 볼 수 있습니다, 그들은 여전히 ​​href = "style.css"를 사용하고 모든 것이 작동합니다. – Snoob

+0

@Snoob : WP에서 작동한다면 어쩌면 그들은 '' 태그를 사용하고있을 것입니다. 생각 해보니, 내 대답에서 준 해결책보다 더 좋은 생각입니다. – David

+0

예, bloginfo ('stylesheet_url')를 사용합니다. 지금 나는 무엇을 해야할지를 안다. – Snoob

2

가능하면, 예를 들어, style.css에 도메인 상대 경로에

<link rel="stylesheet" href="/style.css" media="screen" /> 

을 참조, 내가 있기 때문에 말할 수있는 몇 가지 방법으로 페이지 기지에 추적 할 필요 귀하의 신청서에 대해 충분히 알지 못합니다. 하지만 어쨌든,

<link rel="stylesheet" href="<?php echo $pageBase; ?>/style.css" media="screen" /> 

여기서 $ pageBase는 응용 프로그램의 루트에 대한 URL을 포함하는 변수입니다.

+0

내 응용 프로그램의 루트에 URL을 저장하는 방법 (localhost/do -> 이것은 내 응용 프로그램의 루트 임). 함수가 $ baseurl을 알고 있습니까? – Snoob

2

tem 디렉토리가 일종의 템플릿을 사용한다고 가정하고 있으므로 사용자에게 직접 노출되지 않도록하고 싶습니다. 파일을 포함 시키려면 index.php을 통해 파일에 액세스 할 수 있어야합니다. 나중에 포함 할 파일을 나중에 변경할 수 있습니다.

style.php (루트 디렉토리에 있음)이라는 tem/style.css을 포함하는 다른 PHP 파일을 만들 수 있습니다. 템플릿에 사용 된 다른 파일에 대해서도이 작업을 수행 할 수 있습니다. — 루트 디렉토리의 각 PHP 파일은 특정 템플릿 파일이 아닌 템플릿의 "역할"에 해당하므로 템플릿을 나중에 사용할 수 있습니다. 모든 것을 다시 쓰지 않고도 바뀌 었습니다.

템플릿에 많은 파일이 필요한 경우 약간 번거로울 수 있으므로로드 할 파일 ($_GET 변수)을 통해 지시 할 수있는 단일 스크립트를 사용하는 것이 좋습니다. 그러나이 경우 은 사용자가 임의의 파일을 지정할 수 없도록 매우 조심해야합니다. PHP에 능숙해질 때까지는이 접근법을 피하는 것이 좋습니다.

EDIT : @ gnud의 답변에 대한 의견에 제안 된대로 <base> 태그를 템플릿 HTML 파일에 사용하는 것이 좋습니다.

0

다만 항상 모든