Bir PHP dosyasını yürütmek ve bir dizge olarak sonuca dönmek

2 Cevap php

Diyelim ki aşağıdaki dosya varsayalım - 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>

Ben ihtiyaç olarak ben o işleyebilirsiniz bir dize olarak dosyanın içeriğini almak için file_get_contents() kullanabilirsiniz farkında değilim. Ancak, file_get_contents() PHP ifadeleri yürütmek değil.

Ben başarılı bir dosya render sürümüne erişmek için cURL kullanmış, ancak bu sayfanın yürütme zaman oldukça adil bir miktar ekleyerek, oldukça yavaş ve aksak görünüyor - Vadesi bir DNS arama yapılmaktadır olduğunu hayal ederim .

Yani, nasıl bir dizeye template.php içeriğini alabilirsiniz - orada kullanılabilir PHP yerken?

2 Cevap

Bu yapmak gerekir:

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

Bu within PHP yapmanız gerekmez, bunu gibi, bir metin dosyasına komut satırı, ve boru bunu bir php komut dosyası yürütebilir:

php -f phpFile.php > output.html