我正在建立一个PHP(5.4)网站,我想我会更新PHP代码和网站设计等内容,因此,当我制作一个a时,我不想更改每个文件更新。然后我想如果我使用file_get_contents
函数来获取具有导航栏HTML,CSS,JS和PHP代码的文件的内容,并且我在更新中更改了该文件内容,那么它将更容易快点。除了我试图在文件中使用插值的部分中的问题:
PHP中的插值:制作本:
$myVar = "myVarText";
$interpolation_var = "The var \"myVar\" content is : $myvar";
echo $interpolation_var;
返回文字:var“myVar”内容为:myVarText
它只是忽略了它,它也像纯文本一样显示它。我尝试了一切,即便如此:
$file_content = "".file_get_content("path/to/file.txt")."";
因此,如果某人有解决方案,请回答这个问题。
答案 0 :(得分:0)
使用Output Buffering并使用Error: REBASE: The options argument must contain a context property of type object. Instead, got undefined
来继承当前范围内的变量:
include()
答案 1 :(得分:0)
这在我从事项目工作时遇到的有点麻烦。
(我想要一个.html模板转换为.pdf,我可以在浏览器中调试,但也可以在我的PHP代码中使用完全变量插值直接用于html创建的mPdf.Aaaand我不想使用丑陋在html中<?php echo $whatever;>
全面使用ob_start(); include("myfile.html"); $var = ob_get_clean();
技巧,因为浏览器无论如何都不会在.html文件中呈现php标签。最后请看原文。)
如果你可以改变这个.txt:
The var \"myVar\" content is : $myvar
......那个:
<?php $interpolation_var="The var \"myVar\" content is : $myvar";
这样.txt文件假装是一个vaild .php文件。现在你可以在你的php中使用include / require,你有完整的变量插值:
$myVar = "myVarText";
include "theTxtFile.txt";
echo $interpolation_var;
输出 The var "myVar" content is : myVarText
至于我遇到的原始问题:现在大多数浏览器都会处理生病的html并使用$ vars作为纯文本显示页面
<?php $html="/><!-- This is a little hack to display as pure html for easier debugging but pretend to be a php file with one variable for php includes -->
<!DOCTYPE html>
<html lang='en'>
<head>
<meta charset='UTF-8'>
<title></title>
<style type='text/css'>
* {outline: 1px solid #f005;}
</style>
</head>
<body>
<p>hello $myvar gets interpolated $thisAlso[red].</p>
</body>
</html>";
浏览器输出 hallo $myvar gets interpolated $thisAlso[red].
来自html创建的mPdf的php代码。所有变量都经过插值
$mpdf = new mPDF();
$myvar = "apple";
$thisAlso = ["red" => "juice"];
require_once "theHacked.html";
$mpdf->WriteHTML($html);
$mpdf->Output();
Pdf输出 hello apple gets interpolated juice.