2016-04-13 2 views
0

ich eine externe PHP-Datei wie folgt aussehen:Importgehalt der PHP-Datei in eine PHP-Variable

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

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

und in meinem Code:

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

Sie können es sehen, hat PHP und HTML-Code (und übergeben $content außerhalb der Datei zu enthalten Datei)

Gibt es eine Möglichkeit, den Inhalt dieser Datei in eine PHP-Variable zu speichern? (hier Inhalt von $ body "1"!)

Auch teste ich

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

Es funktioniert, aber ich konnte nicht $content Datei übergeben.

(Ich weiß, ich könnte es über GET übergeben), aber ich habe eine Menge Variablen. Gibt es einen einfacheren Weg?

+2

Warum das Rad neu erfinden? Es gibt eine Reihe von Templating-Engines für PHP. 'file_get_contents' erhält den Inhalt der Datei als String, wertet den Code nicht aus, sondern müsste ihn analysieren, um die notwendigen Teile durch den Inhalt zu ersetzen. 'include' wertet den Inhalt aus, gibt aber keine Zeichenfolge zurück. – Eihwaz

Antwort

0

Ja, Sie können. Sie müssen die Ausgabepufferung dafür verwenden:

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

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