2016-04-13 102 views
0

我有一個外部的php文件是這樣的:內容導入一個PHP變量

<!DOCTYPE> 
<head>... 
... 
<body> 

<p><?php echo $content;?></p> 
.. 

,在我的代碼:

$content = 'sample text'; 
$body = include("layout/mailtemplate.php"); 

你可以看到它有PHP和HTML代碼(並將文件外部的$content傳遞給包含文件)

有什麼方法可以將此文件的內容存儲到php變量中嗎? ($身體的這裏內容是 「1」!)

而且我測試

$body = file_get_contents('layout/mailtemplate.php'); 

它的工作原理,但我不能錯過$content到文件。

(我知道我可以通過GET傳遞它),但我有很多變量。有一種更簡單的方法嗎?

+2

爲什麼要重新發明輪子? PHP有許多模板引擎。 'file_get_contents'作爲一個字符串獲得文件的內容,不評估代碼,然後你需要解析它以用你的內容替換它的必要部分。 'include'將評估內容,但不返回字符串。 – Eihwaz

回答

0

是的,你可以。您需要使用輸出緩衝:

ob_start(); 
$content = 'sample text'; 
include("inc.php"); 
$body = ob_get_contents(); 
ob_end_clean(); 

var_dump($body); // string(11) "sample text"