2013-09-16 35 views
-1

我有一個從文件中讀取一個PHP頁面:製作與VAR和的file_get_contents模板在PHP

$name = "World"; 
$file = file_get_contents('html.txt', true); 
$file = file_get_contents('html.txt', FILE_USE_INCLUDE_PATH); 

echo $file; 

在html.txt我有以下幾點:

Hello $name! 

當我去網站,我得到「Hello $ name!」而不是Hello World!

有沒有辦法讓var的txt文件輸出他們的價值而不是他們的名字?

感謝, 布賴恩

+2

使用include而不是file_get_contents。 – idmean

+0

認爲這將有助於:http://stackoverflow.com/questions/6905706/php-sending-variables-to-file-get-contents –

回答

1

file_get_contents的第二個參數與如何解釋文件無關 - 這是關於在查找該文件時檢查哪些路徑。

但是,結果將始終爲完整的字符串,並且只能用evial「重新插入」它。

什麼可能是一個更好的主意是使用includeoutput control functions組合:

主文件:

<?php 

$name = "World"; 
ob_start(); 
include('html.tpl'); 
$file = ob_get_clean(); 
echo $file; 

html.tpl:

Hello <?= $name ?> 

注意php標籤(<?= ... ?>)在文本中('.tpl')文件 - 沒有它$name將不會被解析爲變量名稱。

0

具體回答你的問題,你需要使用「EVAL」函數在PHP。 http://php.net/manual/en/function.eval.php

但是從發展的角度看,我認爲,如果有更好的方式來做到這一點,無論是通過存儲$名字的地方更容易或重新評估您的過程。使用諸如eval函數之類的東西會帶來一些嚴重的安全風險。