执行PHP文件,并将结果作为字符串返回

时间:2009-11-05 21:29:53

标签: php string

我们假设我有以下文件 - template.php

<?php $string = 'Hello World!'; ?>
<html>
    <head>
        <title>Test Page!</title>
    </head>
    <body>
        <h1><?= $string; ?></h1>
        <p>You should see something above this line</p>
    </body>
</html>

我知道我可以使用file_get_contents()将文件的内容作为字符串获取,然后我可以根据需要进行操作。但是,file_get_contents()不执行PHP语句。

我已成功使用cURL来访问该文件的渲染版本,但它似乎相当缓慢而笨重,为页面的执行添加了相当多的时间 - 我想这是由于DNS查找正在执行。

那么,如何将template.php的内容放入字符串中 - 同时在那里使用PHP?

2 个答案:

答案 0 :(得分:41)

这应该这样做:

ob_start();
include('template.php');
$returned = ob_get_contents();
ob_end_clean();

答案 1 :(得分:3)

如果你不需要在 PHP中执行,你可以从命令行执行php脚本,并将其传递给文本文件,如下所示:

php -f phpFile.php > output.html