将PHP脚本的执行输出分配给变量?

Mat*_*att 5 php variables

我创建了一个网站,我可能没有像我应该那样做,但我当时是PHP新手.因此,为了省去尝试重新编写脚本以在我的网站上显示照片的许多挫折,我需要运行一个*.php文件,并在输入名为"$ html"的var时输出.我知道这可能听起来很奇怪,但这就是我需要的.

从index.php里面,我包括photos.php; 在photos.php中,我需要使用名为photos_page.php的脚本的输出声明$ html ;

例如: $html = parse_my_script("../photos_page.php");

谢谢

Rob*_*bik 10

答: 为此,您可以使用PHP的输出缓冲/控制.这是一些获取脚本输出并返回它的简单函数:

码:

使用的东西: ob_start() ob_get_clean() is_readable()

function getScriptOutput($path, $print = FALSE)
{
    ob_start();

    if( is_readable($path) && $path )
    {
        include $path;
    }
    else
    {
        return FALSE;
    }

    if( $print == FALSE )
        return ob_get_clean();
    else
        echo ob_get_clean();
}
Run Code Online (Sandbox Code Playgroud)

用法:

$path = '../photos_page.php';
$html = getScriptOutput($path);

if( $html === FALSE)
{
    # Action when fails
}
else
{
    echo $html;
}
Run Code Online (Sandbox Code Playgroud)