目前我有这样的文件
<?php
if(some condition)
{
//Dont allow access
}
else
{
echo "<html>My HTML Code</html>";
}
?>
但是我想做这样的事情来保持我的php文件简洁。
<?php
if(some condition)
{
//Dont allow access
}
else
{
//print the code from ..html/myFile.html
}
?>
我怎样才能做到这一点?
答案 0 :(得分:15)
将您的html内容另存为单独的模板并将其包含在内
<?php
if(some condition)
{
//Dont allow access
}
else
{
include ("your_file.html");
}
?>
OR
<?php
if(some condition)
{
//Dont allow access
}
else
{
readfile("your_file.html");
}
?>
readfile
比file_get_contents
答案 1 :(得分:11)
您可以查看PHP Simple HTML DOM Parser,对您的需求似乎是个好主意!例如:
// Create a DOM object from a string
$html = str_get_html('<html><body>Hello!</body></html>');
// Create a DOM object from a URL
$html = file_get_html('http://www.google.com/');
// Create a DOM object from a HTML file
$html = file_get_html('test.htm');
答案 2 :(得分:3)
使用此代码
if(some condition) { //Dont allow access } else { echo file_get_contents("your_file.html"); }
OR
if(some condition) { //Dont allow access } else { require_once("your_file.html"); }
答案 3 :(得分:2)
<?php
if(some condition)
{
//Dont allow access
}
else
{
echo file_get_contents("your_file.html");
}
?>
这应该可以解决问题
或者,正如nauphal的回答所说,只需使用include()
不要忘记,如果文件不存在,你可能会有一些麻烦(所以,也许,在包含或获取内容之前检查)
答案 4 :(得分:2)
扩展nauphal的答案以获得更强大的解决方案..
<?php
if(some condition)
{
//Dont allow access
}
else
{
if(file_exists("your_file.html"))
{
include "your_file.html";
}
else
{
echo 'Opps! File not found. Please check the path again';
}
}
?>
答案 5 :(得分:2)
使用
等功能include()
include_once()
require()
require_once()
file_get_contents()
答案 6 :(得分:1)
我认为你想要包含你的HTML文件,或者我误解了这个问题。
<?php
if(some condition)
{
//Dont allow access
}
else
{
include ("..html/myFile.html");
}
?>
答案 7 :(得分:-1)
方式1:
ob_start();
include "yourfile.html";
$return = ob_get_contents();
ob_clean();
echo $return;
方式2: 使用模板,如 CTPP , Smarty 等...... Templaters用于将一些逻辑从php转移到模板,例如,在CTPP中:
$Templater -> params('ok' => true);
$Template -> output('template.html');
模板html中的:
<TMPL_if (ok) >
ok is true
<TMPL_else>
ok not true
</TMPL_if>
同样的想法也在其他的模板中。 Templaters更好,因为它可以帮助您标准化模板并将所有原始逻辑发送给它们。