在php中使用htmlLoadFile函数加载html文件时,是否有方法传递自定义变量?
我试图将特定变量传递给扩展名为.php的html文件 例如,我试图在另一个文件中使用loadHTMLFile()函数来加载main.php。但是当我尝试添加这样的代码时在php中使用htmlLoadFile函数加载html文件时,是否有方法传递自定义变量?,php,html,variables,load,domdocument,Php,Html,Variables,Load,Domdocument,我试图将特定变量传递给扩展名为.php的html文件 例如,我试图在另一个文件中使用loadHTMLFile()函数来加载main.php。但是当我尝试添加这样的代码时 "<?php echo "hello world"?>" '.<?php echo "hello world" ?>.' 但它不起作用 function loadHtml($loadfile){ libxml_use_internal_errors(true);
"<?php echo "hello world"?>"
'.<?php echo "hello world" ?>.'
但它不起作用
function loadHtml($loadfile){
libxml_use_internal_errors(true);
$doc = new DOMDocument();
$doc->loadHTMLFile($loadfile);
echo $doc->saveHtml() ;
}
在index.php中调用,如下所示:
loadHtml("./views/html/shop/main.php");
关于错误,没有错误,只是我不能调用与main.php文件相关的php变量或函数或任何php,因为任何带有php标记的文件都会被注释。如果您知道解决方案或方法,请帮助我。您可以使用
文件获取内容()
和eval()
示例:eval(file_get_contents('file.php')代码>
但是您必须从要包含的文件中删除PHP标记,或者这样做:eval('?>'.file_get_contents('file.PHP')
为什么不直接使用require(“./views/html/shop/main.php”)
或include(“./views/html/shop/main.php”)
使用eval()
不是一个好主意,因为它在特殊的上下文中调用脚本,而且不安全,供电效率较低,将来调试错误也不太困难(堆栈跟踪日志不包含eval文件的源)。很好地发出HTTP请求而不是从本地文件系统读取可以“修复”这…但这是否明智,取决于你需要它的具体情况。如果这只是为了某个管理任务或别的什么,那可能没问题——但如果在每次加载页面时都这样做,那么可能会对性能造成相当大的损害。
loadHtml("./views/html/shop/main.php");