2010-05-15 3 views
0

내가 다른 HTML 파일을 포함하는 PHP 파일이 일부 HTML을 포함 :가상 기능 -

<? virtual("../top.html");?> 

문제는이 전에 어떤 코드를 컴파일을 포함한다는 것이다 후에 잘 실행 - 아무것도. 이 줄을 주석 처리 한 후에는 오류가 없습니다. 모든 것이 작동합니다.

코드는 로컬 컴퓨터에서 ArchLinux + LAMP로 작성되었습니다. 이제 우분투 10.04와 동일한 구성을 가지고 있습니다.

무엇이 될 수 있습니까?

답변

1

top.html을 top.phtml로 변경하고 require_once를 사용해보십시오.

<?php require_once('../top.phtml'); ?> 
+0

네,이 작품. 하지만 왜? – Ockonal

+1

php는 php 인 것처럼 .phtml 파일을 구문 분석하므로 require_once를 사용할 수 있습니다. 나는 템플릿 파일에 주로 phtml을 사용하는데, 파일에 주로 약간의 PHP가 들어있는 HTML을 포함한다는 것을 암시한다. –

+0

또한'virtual()'은 특정 아파치 (http://php.net/virtual)이고, 종류는 # 가상을 포함합니다. #include virtual은 때때로 .html 파일을 포함하여 .shtml이라는 이름을 지정해야하는 문제가 있습니다. .shtml에 .phtml 확장자를 사용하는 것이 좋습니다. –

0

Apache의 오류 로그를 확인할 수 있습니까? php.ini 파일은 = 꺼짐 short_open_tag 경우

또한,

<?php virtual("../top.html");?> 

를 사용해야합니다.

+0

짧은 태그를 사용하지 않는 경우 +1. –

+0

로그가 비어 있으며 짧은 태그가 허용됩니다. – Ockonal

1

당신은 당신의 출력으로 파일에서 일부 HTML을 전달하려는 경우, 당신은 또한 사용할 수 있습니다

<?php echo file_get_contents('../top.html'); ?>

그런 식으로, 당신은 기본 웹 서버의 독립 유지하고 있는지 확인 html에있을 수있는 PHP 코드가 실행되고 있지 않습니다.

그러나 거기에 실행하고자하는 것이 있으면 require_once()를 stated by Jeremy으로 사용할 수 있습니다.